Pagini recente » Cod sursa (job #3347367) | Borderou de evaluare (job #2657410) | Borderou de evaluare (job #3330961) | Cod sursa (job #3324948) | Cod sursa (job #3324947)
#include <fstream>
using namespace std;
const int MOD = 9999991;
ifstream f("dirichlet.in");
ofstream g("dirichlet.out");
int inv[1000005];
long long powmod(long long a, long long b) {
long long r=1;
while (b) {
if(b&1) r=r*a%MOD;
a=a*a%MOD;
b>>=1;
}
return r;
}
int main()
{
int N;
f >> N;
if(N==0){
g << 1;
return 0;
}
//
inv[1]=1;
for(int i=2;i<=N+1;i++)
inv[i]=(MOD-MOD/i)*inv[MOD%i]%MOD;
//
long long C=1;
for(int n=0;n<N;n++) {
long long num =2LL*(2LL*n+1)%MOD;
long long inv=powmod(n+2,MOD-2);
C=C*num% MOD;
C=C*inv%MOD;
}
g << C;
return 0;
}