n!−∏i=025Amp[i]mp[i]Cn/2−∑j=0i−1mp[j]/2mp[i]/2
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int MOD=1e9+7;
int n,ans=1,sum=1,mp[30],c[2024][2024],pd;
int fl(int x){
int res=1;
for(int i=1;i<=x;i++)res=res*i%MOD;
return res;
}
void init(){
for(int j=0;j<=2003;j++){
c[j][j]=c[0][j]=1;
for(int i=1;i<j;i++){
c[i][j]=c[i-1][j-1]+c[i][j-1];
c[i][j]%=MOD;
// cout<<i<<" "<<j<<" "<<c[i][j]<<"\n";
}
}
}
signed main(){
init();
cin>>n;
for(int i=1;i<=n;i++){
char cha;
cin>>cha,mp[cha-'a']++;
}
for(int i=1;i<=n;i++){
ans=ans*i%MOD;
}
for(int i=0;i<=25;i++){
if(mp[i]%2)pd++;
}
if(pd>=2||(n%2==0&&pd==1)){
cout<<ans<<"\n";
}
else{
int sum=1,cj=n/2;
for(int i=0;i<=25;i++){
sum=sum*c[mp[i]/2][cj]%MOD*fl(mp[i])%MOD;
cj-=(mp[i]/2);
}
cout<<(ans-sum+MOD)%MOD;
}
return 0;
}