#include<bits/stdc++.h>
#define N 1000086
#define int long long
#define endl "\n"
#define mod 1000000007
using namespace std;
int bd[N],n,num[N];
string s;
inline int read();
signed main(){
n=read();
while(n--){
memset(bd,0,sizeof(bd));
memset(num,0,sizeof(num));
cin>>s;
for(int i=1;i<s.size();i++){
int j=bd[i-1];
while(j>0&&s[j]!=s[i]) j=bd[j-1];
if(s[j]==s[i]) j++;
bd[i]=j;
num[i]=num[j-1]+1;
}int ans=1;
for(int i=1;i<s.size();i++){
int j=bd[i];
if(!j) continue;
while(j>=(i+3)/2) j=bd[j-1];
ans=ans*(num[j]+1)%mod;
}
cout<<ans%mod<<endl;
}
return 0;
}
inline int read(){
int x=0,f=1;char ch=getchar();
while (ch<'0'||ch>'9') {if (ch=='-') f=-1;ch=getchar();}
while (ch>='0'&&ch<='9') {x=x*10+ch-48;ch=getchar();}
return x*f;
}