#P14245. [CCPC 2024 Shandong I] 左移

[CCPC 2024 Shandong I] 左移

题目描述

称一个字符串是美丽的,若它的第一个字符和最后一个字符相同。

给定长度为 nn 的字符串 S=s0s1sn1S = s_0s_1\cdots s_{n-1},令 f(S,d)f(S, d) 表示将 SS 左移 dd 次后获得的字符串。也就是说 $f(S, d) = s_{(d+0)\bmod n}s_{(d+1)\bmod n}\cdots s_{(d+n-1)\bmod n}$。求最小的非负整数 dd 满足 f(S,d)f(S, d) 是美丽的。

输入格式

有多组测试数据。第一行输入一个整数 TT 表示测试数据组数,对于每组测试数据:

第一行输入一个仅由小写英文字母组成的字符串 s0s1sn1s_0s_1\cdots s_{n-1}1n5×1051 \le n \le 5 \times 10^5)。

保证所有数据 nn 之和不超过 5×1055 \times 10^5

输出格式

每组数据输出一行一个整数,表示满足 f(S,d)f(S, d) 是美丽的最小非负整数 dd。若不存在这样的 dd,输出 -1\texttt{-1}

4
helloccpc
abcdcba
x
abc
3
0
0
-1

提示

对于第一组样例数据,f(S,3)=loccpchelf(S, 3) = \texttt{loccpchel}。它的第一个字符和最后一个字符都是 l\texttt{l},所以它是一个美丽字符串。虽然 f(S,6)=cpchellocf(S, 6) = \texttt{cpchelloc} 也是美丽的,我们需要回答最小的非负整数 dd。所以答案是 33