var
a,b,c:longint;
s,u,s1:ansistring;
t:char;
p:boolean;
function pd:boolean;
var
i:longint;
t,e:ansistring;
begin
t:=copy(s1,1,b-1);
for i:=1 to (length(s)div(b-1)) do
begin
e:=copy(s1,(b-1)*(i-1)+1,b-1);
if e<>t then
exit(false);
end;
exit(true);
end;
begin
readln(a);
for c:=1 to a do
begin
readln(s);
t:=s[1];
p:=true;
for b:=2 to length(s) do
begin
if (length(s) mod (b-1)=0)and(s[b]=t) then
begin
s1:=s;
if pd=true then
begin
writeln(length(s)div(b-1));
p:=false;
break;
end;
end;
end;
if p=true then
writeln(1);
end;
end.