Pagini recente » Cod sursa (job #1232638) | Cod sursa (job #2242540) | Cod sursa (job #122735) | Cod sursa (job #1002823) | Cod sursa (job #2337204)
#include <bits/stdc++.h>
#define MOD 9999991
using namespace std;
ifstream fin ("dirichlet.in");
ofstream fout ("dirichlet.out");
long long n, i, f1, f2, f3, p, x, y, k;
inline long long euclidpp (long long a, long long b, long long &x, long long &y){
long long xa, ya, d;
if (b == 0){
y = 0, x = 1;
return a;
}
else{
d = euclidpp (b, a%b, xa, ya), x = ya, y = xa - a/b*ya;
return d;
}
}
int main(){
fin >> n;
f1 = 1;
for (i=1; i<=n; i++){
f1 = f1 * i;
if (f1 > MOD){
f1 -= MOD;
}
}
f2 = 1;
for (i=1; i<=n+1; i++){
f2 = f2 * i;
if (f2 > MOD){
f2 -= MOD;
}
}
f3 = 1;
for (i=1; i<=2*n; i++){
f3 = f3 * i;
if (f3 > MOD){
f3 -= MOD;
}
}
p = (f1*f2);
if (p > MOD){
p -= MOD;
}
euclidpp (p, MOD, x, y);
if (x < MOD){
x -= MOD;
}
if (x < 0){
x += MOD;
}
k = f3*x;
while (k >= MOD){
k -= MOD;
}
fout << k;
return 0;
}