#P1419. Vasya and Shifts
Vasya and Shifts
题目描述
Vasya 有 个等长字符串组成的集合,每个字符串均由小写英文字母 a
、b
、c
、d
和 e
组成。该集合被分成 组,每组 个相等的字符串。Vasya 还有一个相同长度的特殊字符串 ,仅由字母 a
组成。
Vasya 想从字符串 中获得一些固定的字符串 ,为了做到这一点,他可以按任何顺序使用集合中的字符串。当他使用某个字符串 时,字符串 中的每个字母替换为字母表中的下一个字母,替换次数与字符串 中相应字母的字母表位置(从零开始计数)相同。在此过程中,字母表中 e
之后的下一个字母是 a
。
例如,如果 中的某个字母等于 b
,而 中相同位置的字母等于 c
,则 中的字母变为等于 d
,因为 c
是第二个字母,从零开始计数。如果 中的某个字母等于 e
,并且在 的同一位置上为 d
,则 中的字母变为 c
。例如,如果字符串 等于 abcde
,字符串 等于 baddc
,则 变为 bbabb
。
使用过的字符串消失,但 Vasya 可以多次使用相同的字符串。
Vasya 想知道对于 给定的字符串 ,有多少种方法可以使用给定的 字符串集从字符串 获取字符串 ?如果某组 个字符串中使用的字符串数不同,则两种方法是不同的。帮助 Vasya 计算这些问题的答案(模 )。
输入格式
第一行两个整数 ,。
接下来 行,每行一个长度为 的字符串。
接下来一个整数 ,。
接下来 个字符串 。
输出格式
对于每个询问,输出一个整数表示答案,对 取模。
1 1
b
2
a
e
1
1
2 4
aaaa
bbbb
1
cccc
5