Cod sursa(job #2923571)

Utilizator alexvali23alexandru alexvali23 Data 15 septembrie 2022 21:34:34
Problema Dirichlet Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>

using namespace std;

ifstream cin("dirichlet.in");
ofstream cout("dirichlet.out");

const int MOD = 9999991;

int n;

int llpow(int a, int b)
{
    int res = 1;
    a = a % MOD;
    while(b)
    {
        if(b & 1)
            res = res * a % MOD;
        a = a * a % MOD;
        b >>= 1;
    }
    return res;
}

int invers(int x)
{
    return llpow(x, MOD - 2);
}

int prod(int a, int b)
{
    int p = 1;
    for(int i = a; i <= b; ++i)
        p = p * i % MOD;
    return p;
}

int comb(int n)
{
    return (prod(n + 2, (n << 1)) * invers(prod(1, n))) % MOD;
}

signed main()
{
    cin >> n;
    cout << comb(n) << '\n';
    return 0;
}