Codeforces Round 425 (Div. 2)
E
Vasya and Shifts
Codeforces
2600
原题
← D→
翻译中…

Vasya has a set of $4*n*$ strings of equal length, consisting of lowercase English letters "a", "b", "c", "d" and "e". Moreover, the set is split into $*n*$ groups of $4$ equal strings each. Vasya also has one special string $*a*$ of the same length, consisting of letters "a" only.

翻译中…

Vasya wants to obtain from string $*a*$ some fixed string $*b*$, in order to do this, he can use the strings from his set in any order. When he uses some string $*x*$, each of the letters in string $*a*$ replaces with the next letter in alphabet as many times as the alphabet position, counting from zero, of the corresponding letter in string $*x*$. Within this process the next letter in alphabet after "e" is "a".

翻译中…

For example, if some letter in $*a*$ equals "b", and the letter on the same position in $*x*$ equals "c", then the letter in $*a*$ becomes equal "d", because "c" is the second alphabet letter, counting from zero. If some letter in $*a*$ equals "e", and on the same position in $*x*$ is "d", then the letter in $*a*$ becomes "c". For example, if the string $*a*$ equals "abcde", and string $*x*$ equals "baddc", then $*a*$ becomes "bbabb".

翻译中…

A used string disappears, but Vasya can use equal strings several times.

翻译中…

Vasya wants to know for $*q*$ given strings $*b*$, how many ways there are to obtain from the string $*a*$ string $*b*$ using the given set of $4*n*$ strings? Two ways are different if the number of strings used from some group of $4$ strings is different. Help Vasya compute the answers for these questions modulo $10^{9} + 7$.

翻译中…

Input

翻译中…

The first line contains two integers $*n*$ and $*m*$ ($1 ≤ *n*, *m* ≤ 500$) — the number of groups of four strings in the set, and the length of all strings.

翻译中…

Each of the next $*n*$ lines contains a string $*s*$ of length $*m*$, consisting of lowercase English letters "a", "b", "c", "d" and "e". This means that there is a group of four strings equal to $*s*$.

翻译中…

The next line contains single integer $*q*$ ($1 ≤ *q* ≤ 300$) — the number of strings $*b*$ Vasya is interested in.

翻译中…

Each of the next $*q*$ strings contains a string $*b*$ of length $*m*$, consisting of lowercase English letters "a", "b", "c", "d" and "e" — a string Vasya is interested in.

翻译中…

Output

翻译中…

For each string Vasya is interested in print the number of ways to obtain it from string $*a*$, modulo $10^{9} + 7$.

翻译中…

Note

翻译中…

In the first example, we have $4$ strings "b". Then we have the only way for each string $*b*$: select $0$ strings "b" to get "a" and select $4$ strings "b" to get "e", respectively. So, we have $1$ way for each request.

翻译中…

In the second example, note that the choice of the string "aaaa" does not change anything, that is we can choose any amount of it (from $0$ to $4$, it's $5$ different ways) and we have to select the line "bbbb" $2$ times, since other variants do not fit. We get that we have $5$ ways for the request.

翻译中…

样例

Input #1
1 1
b
2
a
e
Output #1
1
1
InputCopy OutputCopy
Input #2
2 4
aaaa
bbbb
1
cccc
Output #2
5
InputCopy OutputCopy
题目信息
题号
832E
时间限制
2 s
内存限制
256 MB
标签
矩阵

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。