Cod sursa(job #935729)

Utilizator dariusdariusMarian Darius dariusdarius Data 4 aprilie 2013 16:36:59
Problema Dirichlet Scor 76
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include<stdio.h>
const int MOD=9999991;
int power(int a,int m)
{
	int r;
	for(r=1;m;m>>=1)
	{
		if(m&1) r=(1LL*r*a)%MOD;
		a=(1LL*a*a)%MOD;
	}
	return r;
}
inline int invmod(int k)
{
	return power(k,MOD-2);
}
int cat(int n)
{
	int ans=1;
	for(int k=2;k<=n;k++)
	{
		ans=(1LL*ans*(n+k))%MOD;
		ans=(1LL*ans*invmod(k))%MOD;
	}
	return ans;
}
int main()
{
	freopen("dirichlet.in","r",stdin);
	freopen("dirichlet.out","w",stdout);
	int n;
	scanf("%d",&n);
	printf("%d\n",cat(n));
	return 0;
}