Pagini recente » Cod sursa (job #501747) | Cod sursa (job #318900) | Cod sursa (job #1193710) | Cod sursa (job #574012) | Cod sursa (job #2535810)
#include <fstream>
using namespace std;
#define M 9999991
#define ull unsigned long long
ifstream fin("dirichlet.in");
ofstream fout("dirichlet.out");
ull n,x;
ull rise (ull a,ull b)
{
if(b==0) return 1;
ull x=rise(a,b/2);
if(b%2==0) return (x*x)%M;
return (((x*x)%M)*a)%M;
}
ull catalan(ull n)
{
ull i,t=1,s=1;
for(i=1;i<=n;++i)
{
t=(t*i)%M;
}
for(i=n+2;i<=2*n;i++)
{
s=(s*i)%M;
}
t=rise(t,M-2);
return (s*t)%M;
}
int main()
{
fin>>n;
x=catalan(n);
fout<<x;
return 0;
}