Cod sursa(job #639798)
| Utilizator | Data | 23 noiembrie 2011 22:59:16 | |
|---|---|---|---|
| Problema | Dirichlet | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.45 kb |
#include <cstdio>
const int mod=9999991;
int main()
{
long long n,i,aux,sol;
freopen("dirichlet.in","r",stdin);
freopen("dirichlet.out","w",stdout);
scanf("%lld",&n);
for (sol=1,i=n+2;i<=2*n;++i)
sol=(sol*i)%mod;
for (aux=1,i=1;i<=n;++i)
aux=(aux*i)%mod;
for (i=1;i<mod-1;i<<=1,aux=(aux*aux)%mod)
if (i&(mod-2))
sol=(sol*aux)%mod;
printf("%lld",sol);
return 0;
}
