Pagini recente » Cod sursa (job #2550612) | Cod sursa (job #1525459) | Cod sursa (job #2242157) | Cod sursa (job #2852603) | Cod sursa (job #2460562)
#include <fstream>
#define ll long long
#define mod 9999991
using namespace std;
ifstream f("dirichlet.in");
ofstream g("dirichlet.out");
ll n;
ll logpow(ll a, ll b)
{
ll rez = 1;
while(b)
{
if(b & 1)
rez = (rez * a) % mod;
a = (a * a) % mod;
b >>= 1;
}
return rez;
}
ll invers(ll x)
{
return logpow(x, mod - 2) % mod;
}
ll fact(ll x)
{
ll rez = 1;
for(ll i = 1; i <= x; ++i)
rez = (rez * i) % mod;
return rez;
}
ll comb(ll n, ll k)
{
ll rez = fact(n);
rez = (rez * invers(fact(k)) ) % mod;
rez = (rez * invers( fact(n - k)) ) % mod;
return rez;
}
int main()
{
f >> n;
g << (comb(2*n, n) - comb(2 * n, n - 1) + mod) % mod;
f.close();
g.close();
return 0;
}