CF832E.Vasya and Shifts
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Vasya has a set of 4n 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 4n 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 109+7 .
输入格式
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.
输出格式
For each string Vasya is interested in print the number of ways to obtain it from string a , modulo 109+7 .
输入输出样例
输入#1
1 1 b 2 a e
输出#1
1 1
输入#2
2 4 aaaa bbbb 1 cccc
输出#2
5
说明/提示
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.