Pagini recente » Cod sursa (job #2744259) | Cod sursa (job #2240409) | Cod sursa (job #1715334) | Cod sursa (job #2105608) | Cod sursa (job #638163)
Cod sursa(job #638163)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("dirichlet.in");
ofstream out("dirichlet.out");
inline long long modn(long long x,long long n)
{
long long a=x%n;
if(a<0)
return n+a;
else
return a;
}
void euclidext(long long a, long long b, long long &x, long long &y)
{
if (b==0)
{
x=1;
y=0;
return;
}
long long x1,y1,q=a/b;
euclidext(b,a%b,x1,y1);
x=y1;
y=x1-y1*q;
}
int main()
{
long long x,y,n,i,f1,f2;
in>>n;
f2=f1=1;
for(i=n+1;i<=2*n;++i)
f1=(f1*i)%9999991;
for(i=1;i<=n+1;++i)
f2=(f2*i)%9999991;
euclidext(f2,9999991,x,y);
out<<(modn(x,9999991)*f1)%9999991;
return 0;
}