草薙直哉拥有 n 个由小写字母构成的非空模式串 {Si},同时他还有一个由小写字母构成的非空字符串 Q。
他认为两个字符串 S,T 如果循环同构当且仅当 ∣S∣=∣T∣,且存在 i∈[0,∣S∣),满足当将 S 循环右移 i 位后,有 S′=T。
夏目蓝想考考草薙直哉,她总共有 m 次询问,每次询问给出两个整数 x,y (x<y)。想知道有多少个整数 p 满足 x≤p≤min(∣Q∣+x−y+1,y−1),在 Q[x,p−1]=Q[y,p−1−x+y] 的同时,有 Q[p,y−1] 与某个模式串 {Si} 循环同构。
其中 Q[l,r](1≤l,r≤∣Q∣)表示将 Q 中字符下标从 1 开始标号后,标号为中 l 到 r 的这一段子串。(包括左右端点)
输入格式
第一行输入两个正整数 n,m ,表示模式串的个数以及询问的个数。
接下来 n 行,每行读入一个由小写字母构成的非空字符串 Si,表示草薙直哉的模式串集合。
接下来一行,读入一个由小写字母构成的非空字符串 Q。
接下来 m 行,每行读入两个正整数 x,y 表示询问的参数。具体的含义已经在题面描述中给出。
输出格式
总共输出 m 行整数,其中第 i 行输出第 i 个询问的答案。
样例输入
5 5
baab
aa
aaab
ab
abaaa
bbaabababb
7 9
1 4
3 7
7 9
5 10
样例输出
1
0
1
1
0
另外两组样例见 sample/string/ 文件夹中:
string1.in/string1.out
string2.in/string2.out
数据范围
对于所有的数据我们有如下限制:
- 1≤n≤5×105 , ∑∣Si∣≤5×105
- 1≤∣Q∣≤106
- 1≤m≤106 , 1≤x<y≤∣Q∣
| 测试点编号 |
∑∣Si∣≤ |
m≤ |
∣Q∣≤ |
特殊性质 |
| 1 |
300 |
无 |
| 2 |
| 3 |
105 |
5000 |
| 4 |
| 5 |
5×105 |
| 6 |
| 7 |
5×105 |
106 |
特殊性质A |
| 8 |
| 9 |
105 |
5×105 |
无 |
| 10 |
| 11 |
2×105 |
2×105 |
106 |
| 12 |
| 13 |
5×105 |
| 14 |
| 15 |
3.5×105 |
| 16 |
| 17 |
5×105 |
8×105 |
| 18 |
| 19 |
106 |
| 20 |
特殊性质 A:所有 Si 串的长度均相等。