Pagini recente » Cod sursa (job #1529381) | Cod sursa (job #1271360) | Cod sursa (job #588705) | Cod sursa (job #315666) | Cod sursa (job #638859)
Cod sursa(job #638859)
#include <fstream>
#include <cstdio>
using namespace std;
#define m 9999991
int n,f[2000001],sol;
void read ()
{
ifstream in ("dirichlet.in");
in>>n;
}
int put (int x,int y)
{
int rz=1;
for(;y;y>>=1)
{
if(y&1)
rz=(1LL*rz*x)%m;
x=(1LL*x*x)%m;
}
return rz;
}
int comb (int x,int y){
return (((1LL*f[x]*put(f[x-y],m-2))%m)*put(f[y],m-2))%m;}
void solve ()
{
f[0]=1;
int nn=(n<<1);
for(int i=1;i<=nn;++i)
f[i]=(1LL*f[i-1]*i)%m;
sol=comb(n<<1,n)-comb(n<<1,n+1);
if(sol<0)
sol+=m;
}
void out ()
{
freopen ("dirichlet.out","w",stdout);
printf("%d",sol);
}
int main ()
{
read ();
solve ();
out ();
return 0;
}