Pagini recente » Cod sursa (job #1648513) | Cod sursa (job #899543) | Cod sursa (job #2475731) | Cod sursa (job #1775796) | Cod sursa (job #637925)
Cod sursa(job #637925)
#include <fstream>
#include <cstdio>
#define ll long long
using namespace std;
ifstream f("dirichlet.in");
ofstream g("dirichlet.out");
long long n,r=1,m=9999991,i,fact=1,inv=0,ins,inp1;
void gcd(long long &x, long long &y, long long a, long long b)
{
if (!b)
x = 1, y = 0;
else
{
gcd(x, y, b, a % b);
long long aux = x;
x = y;
y = aux - y * (a / b);
}
}
int main () {
f >> n;
for (i=n+1;i<=2*n;i++) {
r=(r*i)%m;
ins=0;inv=0;
gcd(inv, ins, i-n, m);
if (inv <= 0) inv = m + inv % m;
r=r*inv%m;
}
inv=0;
gcd(inv, ins, n+1, m);
if (inv <= 0) inv = m + inv % m;
r=r*inv%m;
g << r << '\n';
f.close();g.close();
return 0;
}