This page is still under construction.

Parts of this page are still being built. What you see may change.

Prefix Free Code

Time limit2sMemory limit512 MB

Summary
Given n prefix-free strings, rank a given concatenation of k of them among all ordered k-selections sorted alphabetically, modulo 1e9+7.
Level

Medium7 of 10

Topics
Trie, Combinatorics, String matching, Math
Solved
No attempts yet

Problem

Consider nn initial strings of lower case letters, where no initial string is a prefix of any other initial string. Now, consider choosing kk of the strings (no string more than once), and concatenating them together. You can make this many such composite strings:

n×(n−1)×(n−2)×⋯×(n−k+1)n \times (n - 1) \times (n - 2) \times \cdots \times (n - k + 1)

Consider sorting all of the composite strings you can get via this process in alphabetical order. You are given a test composite string, which is guaranteed to belong on this list. Find the position of this test composite string in the alphabetized list of all composite strings, modulo 109+710^9 + 7. The first composite string in the list is at position 1.

Input

Each input will consist of a single test case. Note that your program may be run multiple times on different inputs. Each test case will begin with a line with two integers, first nn and then kk (1≤k≤n1 \le k \le n), where nn is the number of initial strings, and kk is the number of initial strings you choose to form composite strings. The upper bounds of nn and kk are limited by the constraints on the strings, in the following paragraphs.

Each of the next nn lines will contain a string, which will consist of one or more lower case letters a..z. These are the nn initial strings. It is guaranteed that none of the initial strings will be a prefix of any other of the initial strings.

Finally, the last line will contain another string, consisting of only lower case letters a..z. This is the test composite string, the position of which in the sorted list you must find. This test composite string is guaranteed to be a concatenation of kk unique initial strings.

The sum of the lengths of all input strings, including the test string, will not exceed 10610^6 letters.

Output

Output a single integer, which is the position in the list of sorted composite strings where the test composite string occurs. Output this number modulo 109+710^9 + 7.

Examples2

  1. Example 1

    Input
    5 3
    a
    b
    c
    d
    e
    cad
    
    Expected output
    26
    
  2. Example 2

    Input
    8 8
    font
    lewin
    darko
    deon
    vanb
    johnb
    chuckr
    tgr
    deonjohnbdarkotgrvanbchuckrfontlewin
    
    Expected output
    12451