#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream in("prefix.in");
ofstream out("prefix.out");
const int dim = 1000002;
char s[dim];
int kmp[dim];
int Rezolva()
{
int act = 0,rez = 0;
for (int i=2; i<=strlen(s+1); i++)
{
while (act != 0 && s[i] != s[act + 1])
{
act = kmp[act];
}
if (s[i] == s[act+1])
{
act++;
}
kmp[i] = act;
if (kmp[i] != 0 && i%(i - kmp[i]) == 0)
{
rez = i;
}
}
return rez;
}
int main(){
int t;
in >> t;
while (t)
{
in >> s+1;
t--;
out << Rezolva() << "\n";
}
return 0;
}