#include<iostream>
#include<map>
#define mod int(1e9+7)
using namespace std;
int main(){
int fac(int);
int cnt(string);
int n(0);
string s("");
cin>>n>>s;
cout<<fac(n)-cnt(s);
return 0;
}
int fac(int n){
if(n<=1)
return 1;
return fac(n-1)*n%mod;
}
int cnt(string a){
int fac(int);
int len(a.size());
map<char,int>x;
for(int i(0);i<len;i++)
x[a[i]]++;
bool stop(false);
for(int i('a');i<='z';i++)
if(x[i]%2)
if(stop)
return 0;
else
stop=true;
int ret(fac(len/2));
for(char i('a');i<='z';i++)
ret*=fac(x[i])%mod;
return ret;
}
我调了几天了……好棒,只对了第一个样例,样例都没对完……