Cod sursa(job #636928)
Utilizator | Data | 20 noiembrie 2011 02:32:54 | |
---|---|---|---|
Problema | Dirichlet | Scor | 92 |
Compilator | cpp | Status | done |
Runda | .com 2011 | Marime | 0.49 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=2;i<=2*n;++i)
sol=(sol*i)%mod;
for (aux=n+1,i=1;i<=n;++i)
{
aux=(aux*i)%mod;
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;
}