//还是next数组的一个运用,但是还是要注意一个小细节
//我给出一组测试数据ababa;
#include <iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
const int maxn=1000005;
int next[maxn];
char str[maxn];
void getnext(int s)
{
int i;
int j=0;
next[1]=0;
for(i=2;i<=s;i++)
{
while(j>0&&str[j+1]!=str[i])
j=next[j];
if(str[j+1]==str[i])
j++;
next[i]=j;
}
}
int main()
{
while(scanf("%s",&str[1])&&str[1]!='.')
{
int chang=strlen(&str[1]);
getnext(chang);
int ans;
if(chang%(chang-next[chang])==0)
{
ans=chang/(chang-next[chang]);
}
else
ans=1;
printf("%d\n",ans);
}
return 0;
}