rt
#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define pii pair<int,int>
#define fir first
#define se second
#define endl '\n'
#define debug puts("AK IOI")
using namespace std;
const int N = 1005;
int t;
string s;
int n;
int q[N][N];
vector<int> v[N];
int mp[N][N];
int h[N];
int vis[30];
int main(){
cin >> t;
while(t--){
memset(q,0,sizeof q);
memset(h,0,sizeof h);
memset(mp,0,sizeof mp);
int ans=0;
cin >> s;
n=s.size();
s=' '+s;
for(int i = 1;i <= n;i++){//预处理i到j的F值
memset(vis,0,sizeof vis);
int res=0;
for(int j = i;j <= n;j++){
vis[s[j]-'a']++;
if(vis[s[j]-'a'] & 1)res++;
else res--;
q[i][j]=res;
}
}memset(vis,0,sizeof vis);
int res=0;
for(int i = n;i >= 1;i--){
vis[s[i]-'a']++;
if(vis[s[i]-'a'] & 1) res++;
else res--;
h[i] = res;
}
for(int i = 1;i <= n;i++)v[i].clear();
for(int i = 2;i <= n;i++){
if(s[i] == s[1])v[1].push_back(i);
mp[1][i]=1;
}
for(int len = 2;len <= n;len ++){
for(auto it:v[len-1]){
if(it+len-1 <= n && s[it+len-1] == s[len]) {v[len].push_back(it);mp[len][it]=1;}
}
}
for(int len = 1;len <= n-2;len++){
for(int i = 2;i*i <= n-len;i++){
if((n-len) % i == 0 && (n-len) != i){
int x=i;
for(int j = 1;j < x;j++){
bool ok=1;
for(int k = x+1;k <= n-len;k+=x){
if(!mp[j][k]){ok=0;break;}
}if(ok){
if(q[1][j] <= h[n-len+1]) ans++;
}
}x=(n-len)/i;
for(int j = 1;j < x;j++){
bool ok=1;
for(int k = x+1;k <= n-len;k+=x){
if(!mp[j][k]){ok=0;break;}
}if(ok){
if(q[1][j] <= h[n-len+1]) ans++;
}
}
}
}
}
cout<<ans<<endl;
}
return 0;
}