#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
typedef unsigned long long ull;
const int b=101,N=1e6+10;
char s[N];
ull sum[N],power[N];
int main(){
int i,j,ok;
ull t;
power[0] = 1;
for(i=1;i<N;i++)
power[i]=power[i-1]*b;
while(scanf("%s",s+1)){
int len=strlen(s+1);
if(len==1&&s[1]=='.')break;
sum[0]=0;
for(i=1;i<=len;i++)
sum[i]=sum[i-1]*b+s[i];
int ans=0;
for(i=1;i<=len;i++){
if(len%i)continue;
ok=1;
for(j=i;j<=len;j+=i)
if(sum[j]-sum[j-i]*power[i]!=sum[i]-sum[0]*power[i]){ok=0;break;}
if(ok){ans=i;break;}
}
printf("%d\n",len/ans);
}
return 0;
}
POJ 2406
最新推荐文章于 2022-07-21 20:55:14 发布