Pagini recente » Cod sursa (job #2905846) | Cod sursa (job #1483831) | Cod sursa (job #336068) | Cod sursa (job #1672091) | Cod sursa (job #2331157)
#include <cstdio>
const long long MOD = 666013;
long long log_pow(long long b, long long e) {
long long sol = 1;
for (long long i = 1; i <= e; i++)
sol = (1LL * sol * b) % MOD;
return sol;
}
long long fact(long long k) {
long long sol = 1;
for (long long i = 2; i <= k; i++)
sol = (1LL * sol * i) % MOD;
return sol;
}
int main() {
freopen("kperm.in", "r", stdin);
freopen("kperm.out", "w", stdout);
long long n, k;
scanf("%lld%lld", &n, &k);
if (k % 2 == 0) {
printf("0\n");
return 0;
}
long long countMod1 = (n - 1) / k + 1;
long long countMod2 = (n - 1) / k;
long long r = n % k;
long long ans = (1LL * log_pow(fact(countMod1), r) * log_pow(fact(countMod2), k - r) * fact(r) * fact(k - r)) % MOD;
printf("%lld\n", ans);
return 0;
}