Pagini recente » Cod sursa (job #2257408) | Cod sursa (job #2361136) | Cod sursa (job #3211347) | Cod sursa (job #2937713) | Cod sursa (job #2728738)
#include "bits/stdc++.h"
#include <cassert>
using namespace std;
using ll = long long;
using ull = unsigned long long;
using ld = long double;
using pi = pair<int, int>;
using pll = pair<ll, ll>;
using pd = pair<double, double>;
using pld = pair<ld, ld>;
const int MAX_N = 1e6, M = 1e7 - 9;
ll mod_inverse[MAX_N + 1];
int main()
{
ifstream cin("dirichlet.in");
ofstream cout("dirichlet.out");
int N;
cin >> N;
auto fast_exp = [](ll a, int b) -> ll
{
ll res{1};
while (b)
{
if (b & 1)
{
res = (res * a) % M;
}
a = (a * a) % M;
b /= 2;
}
return res;
};
ll num{1}, denom{1};
for (int K = 2; K <= N; ++K)
{
num = (num * (N + K)) % M;
denom = (denom * K) % M;
}
cout << (num * fast_exp(denom, M - 2)) % M;
}