
▶
Description
给定
𝑛
n 个模式串
𝑠
1
,
𝑠
2
,
…
,
𝑠
𝑛
s
1
,s
2
,…,s
n
和
𝑞
q 次询问,每次询问给定一个文本串
𝑡
𝑖
t
i
,请回答
𝑠
1
∼
𝑠
𝑛
s
1
∼s
n
中有多少个字符串
𝑠
𝑗
s
j
满足
𝑡
𝑖
t
i
是
𝑠
𝑗
s
j
的前缀。
一个字符串
𝑡
t 是
𝑠
s 的前缀当且仅当从
𝑠
s 的末尾删去若干个(可以为 0 个)连续的字符后与
𝑡
t 相同。
输入的字符串大小敏感。例如,字符串 Fusu 和字符串 fusu 不同。
Input
本题单测试点内有多组测试数据。
输入的第一行是一个整数,表示数据组数
𝑇
T。
对于每组数据,格式如下:
第一行是两个整数,分别表示模式串的个数
𝑛
n 和询问的个数
𝑞
q。
接下来
𝑛
n 行,每行一个字符串,表示一个模式串。
接下来
𝑞
q 行,每行一个字符串,表示一次询问。
Output
按照输入的顺序依次输出各测试数据的答案。
对于每次询问,输出一行一个整数表示答案。
Sample 1
Inputcopy Outputcopy
3
3 3
fusufusu
fusu
anguei
fusu
anguei
kkksc
5 2
fusu
Fusu
AFakeFusu
afakefusu
fusuisnotfake
Fusu
fusu
1 1
998244353
9
2
1
0
1
2
1
Hint
数据规模与约定
对于全部的测试点,保证
1
≤
𝑇
,
𝑛
,
𝑞
≤
10
5
1≤T,n,q≤10
5
,且输入字符串的总长度不超过
3
×
10
6
3×10
6
。输入的字符串只含大小写字母和数字,且不含空串。
说明
std 的 IO 使用的是关闭同步后的 cin/cout,本题不卡常。用c++解决