Pagini recente » Cod sursa (job #1675830) | Cod sursa (job #2934159) | Cod sursa (job #2415026) | Cod sursa (job #815428) | Cod sursa (job #2158954)
#include <iostream>
#include <cstdio>
using namespace std;
const int MOD = 9999991;
const int NMAX = 1000005;
int n;
long long factn, fact2n;
void computeFact() {
long long fact = 1;
for (int i = 1; i <= n; i++) {
fact = (fact * i) % MOD;
}
factn = fact;
for (int i = n + 1; i <= 2 * n; i++) {
fact = (fact * i) % MOD;
}
fact2n = fact;
}
long long logPow(long long n, long long p) {
long long result = 1;
for (; p; p >>= 1) {
if (p & 1)
result = (result * n) % MOD;
n = (n * n) % MOD;
}
return result;
}
long long invers(long long n) {
return logPow(n, MOD - 2);
}
long long comb() {
return fact2n * invers(factn * factn % MOD) % MOD;
}
int main() {
freopen("dirichlet.in", "r", stdin);
freopen("dirichlet.out", "w", stdout);
scanf("%d ", &n);
computeFact();
printf("%Ld\n", comb() * invers(n + 1) % MOD);
return 0;
}