Pagini recente » Cod sursa (job #914649) | Cod sursa (job #2255704) | Cod sursa (job #2228625) | Cod sursa (job #2255639) | Cod sursa (job #41270)
Cod sursa(job #41270)
#include <cstdio>
const int MOD = 666013;
const int NMAX = 5120;
int F[NMAX];
int fact(int k) {
if (k == 0) return 1;
if (F[k] == 0)
F[k] = ((long long)fact(k - 1) * k) % MOD;
return F[k];
}
int topower(int k, int p) {
int v, rez = 1;
for (v = k; p; p >>= 1, v = ((long long)v * v) % MOD)
if (p & 1)
rez = ((long long)rez * v) % MOD;
return rez;
}
int main() {
freopen("kperm.in", "rt", stdin);
freopen("kperm.out", "wt", stdout);
int N, K;
scanf(" %d %d", &N, &K);
int C, R, rez;
C = N / K;
R = N % K;
if (K & 1) {
rez = ((long long)fact(R) * fact(K - R)) % MOD;
rez = ((long long)rez * topower(fact(C + 1), R)) % MOD;
rez = ((long long)rez * topower(fact(C), K - R)) % MOD;
} else {
rez = 0;
}
printf("%d\n", rez);
return 0;
}