Cod sursa(job #2280042)

Utilizator danin01Nastase Daniel danin01 Data 10 noiembrie 2018 11:07:33
Problema Dirichlet Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>

#define M 9999991

using namespace std;



ifstream f("dirichlet.in");

ofstream g("dirichlet.out");





long long putere(long long x,long long n)



{



    if(n==0)return 1;



    if(n==1)return x;



    long long a = putere(x,n/2);



    if(n%2==0)



    {



        return ((a*a)%M);



    }



    else



    {



        return (((a*x)%M)*a)%M;



    }



}







long long comb(long long n,long long k)



{



    long long r=1,t=1;



    for(int i=2;i<=n;++i)



    {



        r = (r*i)%M;



        if(i<=k)t = (t*i)%M;



        if(i<=n-k)t=(t*i)%M;



    }



    t = t*(k+1)%M;



    r = (r*putere(t,M-2))%M;



    return r;



}



long long n;



int main()

{

    f>>n;

    g<<comb(2*n,n);

    return 0;

}