UOJ Logo Universal Online Judge

UOJ

#772. 【UER #11】企鹅游戏

附件下载 统计

在南极的科考工作结束后,跳蚤国王成功了解了南极企鹅的习性。

具体地,跳蚤国王发现,在整个南极中,生活着 n 只高智慧企鹅。这些企鹅也学习了人类,为自己取了一个独一无二的名字。具体地,对于每个 1in,第 i 只企鹅的名字为一个仅由小写英文字母组成的字符串 si。为了避免指代关系的混淆,任意两只企鹅的名字都是不同的。

在接下来的 m 天中,这些企鹅会聚集在一起玩游戏。具体地,在当天,企鹅们会一起商讨出一个同样仅由小写英文字母构成的字符串 t。随后,第 i 只企鹅将会计算出 ci,表示它的名字 si 在字符串 t 中出现的次数。在游戏的最后,如果所有企鹅都得到了正确的答案,那么他们便会感到非常高兴。

显然,企鹅们并不能理解字符串理论,因此他们并没有很好的方法来检验每个人的计算是否正确。因此,企鹅们决定在每一天结束后,计算出 V=i=1n3i×cimod232,作为他们当天计算结果的一个哈希值。这样在若干年以后,他们便可以等到未来他们都会字符串理论的时候,通过跟正确的哈希值比较,来猜测他们是否每个人都算对了。

经过科考团队的努力,科考团已经成功得到了每个企鹅的名字 s1,s2,,sn 与企鹅们每天选定的字符串。跳蚤国王对这些企鹅们游戏的过程非常感兴趣,因此他要求伏特检验这些企鹅们到底有没有计算正确。虽然伏特希望跳蚤国王别急,但是跳蚤国王还是很急,因此伏特没有时间等到未来的科技了。伏特请求你,计算出每天企鹅进行游戏后,假设每个企鹅都计算正确的情况下,所应得到的哈希值 V

输入格式

输入的第一行包含一个正整数 T,表示子任务编号。

输入的第二行包含两个整数 n,m

接下来 n 行,每行一个字符串 si,表示第 i 只企鹅的名字。保证 si 互不相同。

接下来 m 行,每行一个字符串 tj,表示第 j 天企鹅们选定的字符串。

输出格式

输出 m 行,每行一个非负数,表示每个询问的答案。请注意答案需要对 232 取模。

样例一

input

1
5 5
ab
b
a
ba
aa
a
ab
aba
abab
ababa

output

31
41
823
901
26335

explanation

五只企鹅的名字分别是 abbabaaa

在第一天,企鹅们选定的字符串为 t=a,企鹅们计算出的结果分别为 c1=0,c2=0,c3=1,c4=0,c5=0。答案即为 31×0+32×0+33×1+34×0+35×0=31

在第二天,企鹅们选定的字符串为 t=ab,企鹅们计算出的结果分别为 c1=1,c2=1,c3=1,c4=0,c5=0。答案即为 31×1+32×1+33×1+34×0+35×0=41

在第三天,企鹅们选定的字符串为 t=aba,企鹅们计算出的结果分别为 c1=1,c2=1,c3=2,c4=1,c5=0。答案即为 31×1+32×1+33×2+34×1+35×0=823

在第四天,企鹅们选定的字符串为 t=abab,企鹅们计算出的结果分别为 c1=2,c2=2,c3=2,c4=1,c5=0。答案即为 31×2+32×2+33×2+34×1+35×0=901

在第五天,企鹅们选定的字符串为 t=ababa,企鹅们计算出的结果分别为 c1=2,c2=2,c3=3,c4=2,c5=0。答案即为 31×2+32×2+33×3+34×2+35×0=26335

样例二

见附件下载。该样例满足子任务 2 的限制。

样例三

见附件下载。该样例满足子任务 3 的限制。

数据范围

L=max(i=1n|si|,j=1m|tj|)

对于所有数据,1n,m2×105, 1|si|2×105, 1|tj|2×105, L2×106

子任务编号 L 特殊性质 分值
1 5×103 20
2 2×106 20
3 3×105 30
4 2×106 30

特殊性质:将 si 按长度从小到大排序,则 sisi+1(1i<n) 的前缀。

时间限制:5s

空间限制:1GB