Pagini recente » Cod sursa (job #2807970) | Cod sursa (job #3305293) | Cod sursa (job #3345353) | Cod sursa (job #3307681) | Cod sursa (job #3324942)
#include <fstream>
using namespace std;
const int MOD=9999991;
ifstream f("dirichlet.in");
ofstream g("dirichlet.out");
long long inv[1000002],fact[1000002];
int N;
long long InversModular(long long a,long long b){
long long val=1;
while(b>0){
if(b&1) val=val*a%MOD;
a=a*a%MOD;
b>>=1;
}
return val;
}
int main()
{
f >> N;
//
fact[0]=1;
for(int i=1;i<=2*N;i++)
fact[i]=fact[i-1]*i%MOD;
//
inv[2*N]=InversModular(fact[2*N],MOD-2);
for(int i=2*N-1;i>=0;i--)
inv[i]=inv[i+1]*(i+1)%MOD;
//
g << fact[2*N]*inv[N]%MOD*inv[N]%MOD*InversModular(N+1,MOD-2)%MOD;
return 0;
}