2.前缀数组
题目描述
设numi表示满足以下条件的字符串T的数量:
对于字符串S的前i个字符构成的子串,T既是它的后缀同时又是它的前缀,并且该后缀与该前缀不重叠。
输出∏i=1L(num[i]+1)对109+7取模的结果。
输入格式
第一行仅包含一个正整数n,表示测试数据的组数。
随后n行,每行描述一组测试数据。
每组测试数据仅含有一个字符串S,S的定义详见题目描述。数据保证S中仅含小写字母。输入文件中不会包含多余的空行,行末不会存在多余的空格。
输出格式
包含n行,每行描述一组测试数据的答案,答案的顺序应与输入数据的顺序保持一致。
对于每组测试数据,仅需要输出一个整数,表示这组测试数据的答案对109+7取模的结果。输出文件中不应包含多余的空行。
数据范围与提示
对于所有数据,n≤5,L≤106。
| 测试点编号 |
约定 |
| 1 |
n≤5,L≤50 |
| 2 |
n≤5,L≤200 |
| 3 |
| 4 |
n≤5,L≤10000 |
| 5 |
| 6 |
n≤5,L≤100000 |
| 7 |
n≤5,L≤200000 |
| 8 |
n≤5,L≤500000 |
| 9 |
n≤5,L≤1000000 |
| 10 |
样例
3
aaaaa
ab
abcababc
36
1
32