#include<bits/stdc++.h>
using namespace std;
int n,a[27],tot,f=0;
long long ans;
long long M=1e9+7;
string s;
long long jc(int x){
int res=1;
for(int i=1;i<=x;i++){
res=res%M*i%M;
}
return res%M;
}
int main(){
scanf("%d",&n);
cin>>s;
for(int i=0;i<s.size();i++)a[s[i]-'a'+1]++;
long long sum=jc(n)%M;
for(int i=1;i<=26;i++){
if(a[i]%2==1)tot++,f=1;
if(tot>1){
printf("%lld",sum%M);
return 0;
}
}
ans=1;int k=1;
for(int i=1;i<=26;i++){
if(a[i]%2==1)k=i;
ans*=(jc(a[i])%M/jc(a[i]/2%M)%M);
}
tot=jc(n/2)%M;
ans=(ans*tot%M)%M;
if(f==1)ans*=a[k]%M;
ans=sum-ans;if(ans<0)ans+=M;
printf("%lld",ans%M);
return 0;
}
感谢dalao