#include <fstream>
#include <cstring>
using namespace std;
ifstream is("prefix.in");
ofstream os("prefix.out");
char P[1000002];
int n, m;
int s;
int p[1000002];
void Prefix();
int main()
{
is >> n;
for ( int i = 1; i <= n; ++i )
{
s = 0;
is >> (P + 1);
m = strlen(P + 1);
Prefix();
for ( int i = m; i >= 2; --i )
if ( p[i] && (i % (i - p[i]) == 0) )
{
s = i;
break;
}
os << s << '\n';
}
is.close();
os.close();
return 0;
}
void Prefix()
{
int k = 0;
for ( int i = 2; i <= m; ++i )
{
while ( k > 0 && P[k + 1] != P[i] )
k = p[k];
if ( P[k + 1] == P[i] )
++k;
p[i] = k;
}
}