Pagini recente » Cod sursa (job #2057731) | Cod sursa (job #2045925) | Cod sursa (job #2279893) | Cod sursa (job #2454958) | Cod sursa (job #989916)
Cod sursa(job #989916)
#include<fstream>
using namespace std;
const int mod=9999991;
int n;
long long pow(long long n, int p) {
long long rez=1;
while (p>0)
if (p%2==0) { n=(n*n)%mod; p/=2; }
else { rez=(rez*n)%mod; --p; }
return(rez%mod);
}
int c(int n, int k) {
long long p2=k,p3=n-k,p1; long long fact=1;
for (int i=1; i<=n+1; ++i){
if (i-1==p2) p2=fact;
if (i-1==p3) p3=fact;
if (i==n+1) break;
fact=(fact*i)%mod;
}
p1=(p2*p3)%mod;
return((fact*pow(p1,mod-2))%mod);
}
int main(void) {
ifstream fin("dirichlet.in");
ofstream fout("dirichlet.out");
fin>>n;
int sol=(c(2*n-1,n)-c(2*n-1,n+1)+mod)%mod;
fout<<sol;
return(0);
}