#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long LL; #define N 1005 #define mod 1000000007 const int INF=INT_MAX; char ch[N]; LL a[26]; LL qsm(LL x) { LL y=mod-2; LL ans=1; while(y) { if(y&1) ans=(ans*x)%mod; x=(x*x)%mod; y>>=1; } return ans; } int main() { int t; scanf("%d",&t); while(t--) { memset(a,0,sizeof(a)); scanf("%s",ch); for(int i=0;ch[i]!='\0';i++) a[ch[i]-'a']++; LL k=0,s=0; for(int i=0;i<26;i++) { if(a[i]&1) k++; a[i]/=2; s+=a[i]; } if(k>=2) {printf("0\n");continue;} LL ans=1; for(int i=1;i<=s;i++) ans=(ans*i)%mod; for(int i=0;i<26;i++) { for(int j=1;j<=a[i];j++) { ans=(ans*qsm(j))%mod; } } printf("%I64d\n",ans); } return 0; }