#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
const int p=1e9+7;
int pi[N],T;
long long asdf(string s){
int n=s.length();
long long ans=1;
for (int i=0;i<n;i++) pi[i]=0;
for (int i = 1; i < n; i++) {
int j=pi[i-1];
while (j>0 && s[i]!=s[j])
j=pi[j-1];
j+=(s[i]==s[j]);
int kk=pi[i-1];
if(s[i]==s[j]){
while(s[i]!=s[kk]&&kk>(i+1)/2 && kk>0)
kk=pi[kk-1];
kk+=(s[i]==s[kk]);
ans=ans*(kk+1)%p;
}
pi[i]=j;
}
return ans;
}
int main(){
cin >> T;
while(T--){
string kkk;
cin >> kkk;
cout << asdf(kkk) << endl;
}
}