Cod sursa(job #639743)
#include<stdio.h>
#define mod 9999991
#define maxn 2000005
FILE*f=fopen("dirichlet.in","r");
FILE*g=fopen("dirichlet.out","w");
int n,i,j,k,sol;
int F[maxn];
inline int lgput ( int a , int b ){
int p = a,s = 1;
while ( b ){
if ( b & 1 ){
s = (1LL * s * p) % mod;
}
p = (1LL * p * p) % mod;
b >>= 1;
}
return s;
}
int main () {
fscanf(f,"%d",&n);
for ( F[0] = 1 , i = 1 ; i <= n + n ; ++i ){
F[i] = (1LL * i * F[i-1]) % mod;
}
sol = (1LL * F[n<<1] * lgput(F[n],mod-2)) % mod;
sol = (1LL * sol * lgput(F[n],mod-2)) % mod;
sol = (1LL * sol * lgput(n+1,mod-2)) % mod;
fprintf(g,"%d\n",sol);
fclose(f);
fclose(g);
return 0;
}