Cod sursa(job #1074304)

Utilizator andreiiiiPopa Andrei andreiiii Data 7 ianuarie 2014 15:23:21
Problema Dirichlet Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <cstdio>

using namespace std;

const long long MOD=9999991;

long long pw(long long x, long long y)
{
    long long ret=1;
    for(;y;y>>=1)
    {
        if(y&1) ret=ret*x%MOD;
        x=x*x%MOD;
    }
    return ret;
}

int main()
{
    freopen("dirichlet.in", "r", stdin);
    freopen("dirichlet.out", "w", stdout);
    long long n, i, sol1=1, sol2=1;
    scanf("%lld", &n);
    for(i=n+2;i<=2*n;i++) sol1=sol1*i%MOD;
    for(i=1;i<=n;i++) sol2=sol2*i%MOD;
    printf("%lld", sol1*pw(sol2, MOD-2)%MOD);
}