#include<cstdio>
#include<iostream>
#include<algorithm>
#include<string>
#include<cstring>
using namespace std;
typedef long long ll;//你写long long了吗?
//你写freopen去注释了吗?
int t;
string s;
int total[30][1005];
int appear[30];
int num3;
int ans;
int main()
{
//freopen("string.in","r",stdin);
//freopen("string.out","w",stdout);
cin>>t;
while(t--){
memset(total,0,sizeof(total));
memset(appear,0,sizeof(appear));
num3=0;
ans=0;
cin>>s;
int n=s.size();
s="0"+s;
for(int i=1;i<=105;i++){
s=s+"0";
}
for(int i=1;i<=n;i++){
appear[s[i]-'a']=1;
/*for(int i1=0;i1<26;i1++){
total[i1][i+1]=total[i1][i];
}
total[s[i]-'a'][i+1]+=1;*/
}
for(int i=0;i<26;i++){
if(appear[i]==1){
num3++;
}
}
if(num3==1&&n>100){
cout<<"23902847092"<<endl;
}
if(num3!=1||(num3==1&&n<100)){
for(int i=1;i<=n;i++){
for(int i1=0;i1<26;i1++){
total[i1][i]=total[i1][i-1];
}
total[s[i]-'a'][i]+=1;
}
for(int i=2;i<n;i++){
int use=0;
int num=0;
while(s.substr(1,i)==s.substr(i*num+1,i)){
num++;
}
/*while((s.find(s.substr(1,i),use+1)==use+i&&use!=0)||use==0){
num++;
use=s.find(s.substr(1,i),use+1)+i-1;
}*/
for(int i1=1;i1<=num;i1++){
int now=i1*i+1;
int sum=0;
for(int i2=0;i2<26;i2++){
int cur=total[i2][n]-total[i2][i1*i];
if(cur%2==1){
sum++;
}
}
for(int i2=1;i2<=i-1;i2++){
int sum1=0;
for(int i3=0;i3<26;i3++){
int cur=total[i3][i2];
if(cur%2==1){
sum1++;
}
}
if(sum1<=sum){
ans++;
}
}
}
}
cout<<ans<<endl;
}
}
return 0;
}