Cyclic Nacklace
#include<bits/stdc++.h>
using namespace std;
#define maxn 123456
int nxt[maxn],len,t;
char str[maxn];
void getnxt()
{
nxt[0]=0;
for(int i=1; i<len; i++)
{
int j=nxt[i-1];
while(j&&str[i]!=str[j])
j=nxt[j-1];
if(str[i]==str[j])nxt[i]=j+1;
else nxt[i]=0;
}
}
int main()
{
scanf("%d",&t);
while(t--)
{
scanf("%s",str);
len=strlen(str);
getnxt();
int cp=len-nxt[len-1];
if(len%cp==0&&len/cp==1)printf("%d\n",cp);
else if(len%cp==0)printf("0\n");
else printf("%d\n",cp-len%cp);
}
return 0;
}