Pagini recente » Cod sursa (job #2210090) | Cod sursa (job #3150169) | Cod sursa (job #2068862) | Cod sursa (job #1387519) | Cod sursa (job #1517824)
#include<cstdio>
#include<cstring>
using namespace std;
char s[1000010];
int prefix[1000010];
int main(){
freopen("prefix.in","r",stdin);
freopen("prefix.out","w",stdout);
int t,q,n,i,j;
scanf("%d\n",&t);
for(q=1;q<=t;q++){
scanf("%s",s+1);
n=strlen(s+1);
i=0;
for(j=2;j<=n;j++){
if(s[i+1]==s[j])
i++;
else
if(s[1]==s[j])
i=1;
else
i=0;
prefix[j]=i;
}
for(j=n;j>=1;j--)
if(prefix[j]>0&&j%(j-prefix[j])==0)
break;
printf("%d\n",j);
}
return 0;
}