Pagini recente » Cod sursa (job #201741) | Monitorul de evaluare | Cod sursa (job #73844) | Clasament dupa rating | Cod sursa (job #1184328)
#include <fstream>
const int MOD = 9999991;
using namespace std;
ifstream f("dirichlet.in");
ofstream g("dirichlet.out");
long long N,sol1,sol2,rez;
long long pow(long long x, long long p)
{
long long rez;
if (p == 1)
return x;
if (p == 0)
return 1;
rez = pow(x,p/2) % MOD;
rez = (rez*rez) % MOD;
if (p % 2 == 1)
rez = (rez * x) % MOD;
return rez % MOD;
}
int main()
{
f >> N;
sol1 = 1;
sol2 = 1;
for (int i = N+2; i <= 2*N; ++i)
{
sol1 = (sol1 * i) % MOD;
}
for (int i = 1; i <= N; ++i)
{
sol2 = (sol2 * i) % MOD;
}
rez = (sol1 * pow(sol2,MOD-2) ) % MOD;
g << rez;
f.close();
g.close();
return 0;
}