#include #include #include #include #include #include #include #include #include #include #include #include #define mem(a,b) memset(a,b,sizeof(a)) using namespace std; typedef long long ll; typedef unsigned int ui; const int maxn=1e3+50; const int Mod=1e9+7; int cnt[30]; string s; int len; int T; ll yh[maxn][maxn]; void init() { yh[0][0]=yh[0][1]=1; for (int i=1;i<=1002;i++) { yh[i][0]=1; for (int j=1;j<=i;j++) yh[i][j]=(yh[i-1][j-1]+yh[i-1][j])%Mod; yh[i][i]=1; } // // for (int i=0;i<=6;i++) // { // for (int j=0;j<=6;j++) // cout<1) return false; return true; } void trim() { for (int i=0;i<26;i++) { cnt[i]=cnt[i]>>1; } } ll solve() { int sum=s.size(); sum/=2; ll ans=1; for (int i=0;i<26;i++){ if (cnt[i]){ // cout<>s; len=s.size(); mem(cnt,0); if (len==1){ puts("1"); continue; } for (int i=0;i