问题2932--同构字符串(string)

2932: 同构字符串(string)

时间限制: 6 Sec  内存限制: 512 MB
提交: 3  解决: 3
[提交] [状态] [讨论版] [命题人:]

题目描述

定义两个字符串s,t是同构的当且仅当存在s的一段前缀,若把这段前缀接到s后使s=t。例如abcde和deabc是同构的。
定义一个字符串S是优美字符串当且仅当存在整数k>1:
定义n是S的长度,则k是n的因数;
把S分割成k个长度为n/k的子串,这些子串两两同构。

输入

多组测试数据。第一行包含一个整数T(1≤T≤1000),表示有T组测试数据。
对于每组测试数据,第一行1个整数n (1≤n≤5×10^6),表示字符串的长度。
第二行一个由小写字母组成的字符串,长度为n。
保证∑n≤2×10^7。

输出

对于个询问,如果S是优美字符串,输出Yes,否则输出No。

样例输入 Copy

6
1
a
2
aa
3
aab
4
abba
6
abcbcc
8
aaaaaaaa

样例输出 Copy

No
Yes
No
Yes
No
Yes