Pagini recente » Cod sursa (job #2667711) | Cod sursa (job #2022277) | Cod sursa (job #228725) | Cod sursa (job #2518086) | Cod sursa (job #1292289)
#include <iostream>
#include <fstream>
#define MOD 666013
unsigned long long fact(int n) {
unsigned long long sol = 1;
for (int i = 2; i <= n; ++i) {
sol = (sol * i) % MOD;
}
return sol;
}
int main()
{
std::ifstream in("kperm.in");
std::ofstream out("kperm.out");
int n, k;
in >> n >> k;
unsigned long long sol = 0;
if (k % 2 == 1) {
sol = 1;
for (int i = 1; i <= k; ++i) {
sol = (sol * fact((n / k) + (i <= (n % k) ? 1 : 0))) % MOD;
}
sol = (sol * fact(n % k)) % MOD;
sol = (sol * fact(k - n % k)) % MOD;
}
out << sol << std::endl;
return 0;
}