Pagini recente » Cod sursa (job #2884743) | Cod sursa (job #1294271) | Rating Vasilica Moldovan (vasilicamoldovan) | Cod sursa (job #2001609) | Cod sursa (job #637846)
Cod sursa(job #637846)
#include <cstdio>
#define NMax 1000005
#define Mod 9999991
using namespace std;
int N;
long long FN, FK;
void ComputeFactorial ()
{
long long F=1;
FN=FK=1;
for (int i=2; i<=2*N; ++i)
{
F=(F*i)%Mod;
if (i==N)
{
FK=F;
}
if (i==2*N)
{
FN=F;
}
}
}
long long Pow (long long X, int P)
{
long long S=1;
while (P>0)
{
if (P%2==0)
{
X*=X;
X%=Mod;
P/=2;
}
else
{
--P;
S*=X;
S%=Mod;
}
}
return S;
}
long long C (int n, int k)
{
return (FN*Pow ((FK*FK)%Mod, Mod-2)%Mod)%Mod;
}
int main()
{
freopen ("dirichlet.in", "r", stdin);
freopen ("dirichlet.out", "w", stdout);
scanf ("%d", &N);
ComputeFactorial ();
printf ("%lld\n", (Pow ((N+1)%Mod, Mod-2)*C(2*N, N))%Mod);
return 0;
}