Pagini recente » Cod sursa (job #3331127) | Cod sursa (job #3331126) | Cod sursa (job #3311703) | Cod sursa (job #3331128) | Cod sursa (job #3327614)
#include <fstream>
using namespace std;
ifstream cin("sandokan.in");
ofstream cout("sandokan.out");
long long sol=1;
long long aranj(int n, int k)
{
long long nr=1;
for(int i=n-k+1;i<=n;i++)
{
nr*=i;
nr%=9901;
}
return nr;
}
int fr[30];
int main()
{
int n;
string s;
cin>>n>>s;
int nrd=0,nr2=0;
for(int i=0;i<s.size();i++)
{
fr[s[i]-'a'+1]++;
if(fr[s[i]-'a'+1]==1)
nrd++;
if(fr[s[i]-'a'+1]==2)
nr2++;
}
int fact=1,fact2=1;
for(int i=2;i<=n-2;i++)
{
fact*=i;
fact2*=i;
fact2%=9901;
fact%=9901;
}
fact*=(n-1);
fact%=9901;
fact*=n;
fact%=9901;
sol=aranj(nrd,n);
cout<<sol+(nr2*aranj(nrd-1,n-2)*(fact/(2*fact2)));
return 0;
}