Cod sursa(job #2781209)
Utilizator | Data | 8 octombrie 2021 18:54:34 | |
---|---|---|---|
Problema | Dirichlet | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.56 kb |
#include <fstream>
#define MOD 9999991
using namespace std;
ifstream fin ("dirichlet.in");
ofstream fout ("dirichlet.out");
long long lgput(long long a, long b){
long long ans = 1;
while (b > 0){
if (b&1) ans = (ans * a) % MOD;
a = (a * a) % MOD;
b >>= 1;
}
return ans;
}
int main(){
int n, fact;
fin >> n;
fact = 1;
for (int i = 1; i <= n; i++)
fact *= (i % MOD);
int nr = 1;
for (int i = n + 2; i <= 2 * n; i++)
nr *= (i % MOD);
nr *= lgput(fact, MOD - 2);
nr %= MOD;
fout << nr;
return 0;
}