Pagini recente » Cod sursa (job #2653230) | Cod sursa (job #856050) | Cod sursa (job #665492) | Rating Ursul Fioros (ursulfioros) | Cod sursa (job #1753972)
#include <bits/stdc++.h>
#define p 100003
using namespace std;
ifstream fin ("spion.in");
ofstream fout ("spion.out");
char a[100007];
int n, t[100007], k;
void CalcK()
{
int i;
k=0;
for (i=0; a[i]!=0; i++)
if (a[i]=='E') k++;
}
int RidicP(int y, int x)
{
int prod=1;
while (x!=0)
{
if (x%2==1)
{
prod=(1LL*prod*y)%p;
x--;
}
y=(1LL*y*y)%p;
x/=2;
}
return prod;
}
void Generare()
{
int i;
t[1]=1;
for (i=2; i<=n; i++)
t[i]=(1LL*t[i-1]*i)%p;
}
void Cerinta2()
{
long long rez;
Generare();
rez=(1LL * t[n] * (RidicP(t[k], p-2)) * (RidicP(t[n-k], p-2)) )%p;
fout << rez << "\n";
}
void Citire()
{
int nr;
fin >> nr;
fin >> a;
n=strlen(a);
CalcK();
if (nr==1)
{
fout << k+1 << "\n";
}
else
Cerinta2();
}
int main()
{
Citire();
return 0;
}