Pagini recente » Monitorul de evaluare | Cod sursa (job #781618) | Monitorul de evaluare | Istoria paginii utilizator/trifa_maria | Cod sursa (job #1013232)
#include<fstream>
#define M 9999991
using namespace std;
ifstream in("dirichlet.in");
ofstream out("dirichlet.out");
int r=1,q,n,k,r2=1;;
inline long long inv(long long a, long long b){
int p=1;
while(b){
if(b&1) p=(p*a)%M;
a=(a*a)%M;
b/=2;
}
return p%M;
}
int main(){
in>>q;
n=2*q; k=q;
for(int i=n;i>k+1;--i)
r=(1LL*r*i)%M;
//r=((r%M)*(i%M))%M;
for(int i=1;i<=k;++i)
//r2=((r2%M)*(i%M))%M;
r2=(1LL*r2*i)%M;
out<<(r*inv(r2,M-2))%M<<'\n';
return 0;
}