#include #include const int mod=1e9+7; char s[100001]; int num[26][100001]; int t[26]; int fact[100001]; int q,l,r,ss,i,j; long long qpow(long long x,long long n){ long long ans=1; while(n){ if(n&1)ans=ans*x%mod; x=x*x%mod; n>>=1; } return ans; } long long rev(long long x){ return qpow(x,mod-2); } int main(){ scanf("%s",s); ss=strlen(s); for(i=0;i<26;i++)num[i][0]=0; for(i=0;i<26;i++){ char tmp='a'+i; for(j=0;j>1; } long long ans=fact[tot]; for(i=0;i<26;i++) ans=ans*rev(fact[t[i]>>1])%mod; if(tot*2