Pagini recente » Cod sursa (job #1531851) | Cod sursa (job #143769) | Cod sursa (job #628628) | Cod sursa (job #2227123) | Cod sursa (job #2948829)
//Duck on the grind
#include<cstdio>
#include<cstring>
typedef signed long long int ll;
const ll MOD=998244353;
const int NMAX=1000005;
char s[NMAX];
int pi[NMAX], N, maxPos;
void pref()
{
int i, q=0;
for(i=2;i<N;++i)
{
while(q && s[q+1]!=s[i])
q=pi[q];
if(s[q+1]==s[i])
++q;
pi[i]=q;
if(q && i%(i-q)==0)
maxPos=i;
}
}
int main()
{
freopen("prefix.in", "r", stdin);
freopen("prefix.out", "w", stdout);
int _;
scanf("%d", &_);
fgets(s, NMAX, stdin);
while(_--)
{
fgets(s+1, NMAX, stdin);
N=strlen(s+1);
if(s[N]=='\n')
s[N]=0;
maxPos=0;
pref();
printf("%d\n", maxPos);
}
return 0;
}