Nu aveti permisiuni pentru a descarca fisierul grader_test6.in
Cod sursa(job #635482)
| Utilizator | Data | 19 noiembrie 2011 12:04:18 | |
|---|---|---|---|
| Problema | Dirichlet | Scor | 8 |
| Compilator | cpp | Status | done |
| Runda | .com 2011 | Marime | 0.94 kb |
#include <cstdio>
#define file_in "dirichlet.in"
#define file_out "dirichlet.out"
#define MOD 9999991
long long n,s,res,inv[MOD],i,k;
long long my_pow(long long a,long long b)
{
long long t;
if (!b)
return 1;
t=my_pow(a,b>>1);
t=(t*t)%MOD;
if (b&1)
t=(t*a)%MOD;
return t;
}
long long comb(long long n, long long k)
{
long long i,t=1;
if (k>n)
return 0;
for (i=n-k+1;i<=n;++i)
t=(t*i)%MOD;
for (i=2;i<=k;++i)
t=(t*inv[i])%MOD;
return t;
}
int main(){
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%lld", &n);
//for (i=1;i<MOD;++i)
// inv[i]=my_pow(i,MOD-2);
//res=(comb(2*n,n))%MOD;
//res=(res*inv[n+1])%MOD;
res=1;
k=n;
n=2*n;
for (i=n-k+1;i<=n;++i)
res=(res*i);
for (i=2;i<=k;++i)
res=(res/i);
res/=(k+1);
printf("%lld\n", res%MOD);
return 0;
}