Pagini recente » Cod sursa (job #2307135) | Cod sursa (job #2033454) | Cod sursa (job #1929862) | Cod sursa (job #2626027) | Cod sursa (job #636017)
Cod sursa(job #636017)
#include <cstdio>
#define modulo 9999991
int N;
int invers(int A, int p)
{
long long aux;
if (p == 1) return A;
aux = invers(A, p>>1);
if (p&1) return (aux*aux*A) % modulo;
else return (aux*aux) % modulo;
}
int catalan(int N)
{
long long C;
C = 1;
for (int i=1; i<N; ++i)
{
C = (2*(2*i+1) * C) % modulo;
C = (C * invers(i+2, modulo-2)) % modulo;
}
return C;
}
int main()
{
freopen("dirichlet.in","r",stdin);
freopen("dirichlet.out","w",stdout);
scanf("%d", &N);
printf("%d\n", catalan(N));
return 0;
}