#P17423. [ICPC 2018 Xuzhou R] Rikka with Nice Counting Striking Back

[ICPC 2018 Xuzhou R] Rikka with Nice Counting Striking Back

题目描述

众所周知,Yuta 不擅长计数。Rikka 对此感到担忧,于是她给 Yuta 布置了一些计数任务作为练习。以下是其中之一:

在计算机编程中,字符串通常是指一个字符序列,而一个字符串的子串是指该字符串内的一个连续字符序列。例如,snowball\text{snowball} 是一个字符串,now\text{now} 是 snowball\text{snowball} 的一个子串,而 bow\text{bow} 不是 snowball\text{snowball} 的子串。此外,两个字符串 UU 和 VV 的拼接记作 UVU V,也就是说,如果 UU 是 snow\text{snow} 而 VV 是 ball\text{ball},那么 UVU V 就是 snowball\text{snowball}。

Rikka 有一个长度为 nn 的字符串 SS,她希望 Yuta 统计一共有多少个不同的 好的 字符串。这里,她称一个非空字符串 TT 为 好的,当且仅当

  • TT 是 SS 的一个子串;并且
  • 对于任何满足 TPT P 与 PTP T 是同一字符串的非空字符串 PP,TPT P 都不是 SS 的子串。

这对 Yuta 来说太难了。你能帮帮他吗?

输入格式

输入包含多组测试数据,第一行包含一个整数 TT(1≤T≤10001 \le T \le 1000),表示测试数据的组数。

对于每组测试数据,仅有一行包含一个仅由小写字母组成的字符串 SS,其长度为 nn(1≤n≤2×1051 \le n \le 2 \times 10^5)。

输入保证所有测试数据的 nn 之和不超过 5×1065 \times 10^6。

输出格式

对于每组测试数据,输出一行一个整数,表示答案。

6
rikkasuggeststoallthecontestants
thisisaproblemdesignedforgrandmasters
ifyoudidnotachievethat
youdbetterskiptheproblem
wishyouahighrank
enjoytheexperience
500
679
244
290
132
163

提示

翻译由 DeepSeek V4 Pro 完成