Pagini recente » Cod sursa (job #1748644) | Cod sursa (job #2904172) | Cod sursa (job #2384231) | Cod sursa (job #1026048) | Cod sursa (job #1788765)
/**
Numarul de posibilitati este (2*n)!/((n+1)!/n!)
Invers modular, ridicare la putere in timp logaritmic
*/
#include <bits/stdc++.h>
#define MOD 9999991
using namespace std;
long long n;
long long LgPut(long long a, long long n)
{
long long rez = 1;
while(n > 0)
{
if(n % 2 == 1)
rez = rez * a % MOD;
a = a * a % MOD;
n /= 2;
}
return rez;
}
int Rezolvare()
{
long long t, sol;
int i, N;
N = 2 * n;
t = sol = 1;
for(i = n + 1; i <= N; ++i)
sol = sol * i % MOD;
n++;
for(i = 2; i <= n; ++i)
t = t * i % MOD;
sol = sol * LgPut(t, MOD - 2) % MOD;
return (int)(sol % MOD);
}
int main()
{
ifstream fin("dirichlet.in");
ofstream fout("dirichlet.out");
fin >> n;
int x = Rezolvare();
fout << x << "\n";
fout.close();
return 0;
}