Pagini recente » Cod sursa (job #1737855) | Cod sursa (job #1338002) | Cod sursa (job #1075560) | Cod sursa (job #624652) | Cod sursa (job #459488)
Cod sursa(job #459488)
#include <cstdio>
typedef long long ll;
const int MAX_N = 5005;
const int MOD = 666013;
ll kpr[MAX_N];
int r, N, K, sum;
int main()
{
freopen("kperm.in", "r", stdin);
freopen("kperm.out", "w", stdout);
scanf("%d %d", &N, &K);
r = N % K;
kpr[0] = 1;
for (int i = 1; i <= N; i++)
kpr[i] = (kpr[i - 1] * (ll) i) % MOD;
sum = (K * (K - 1)) >> 1;
if (sum % K != 0)
{
printf("0");
return 0;
}
ll rez = kpr[r] % MOD;
for (int i = 1; i <= r; i++)
rez *= kpr[(N / K) + 1], rez %= MOD;
rez *= kpr[K - r], rez %= MOD;
for (int i = r + 1; i <= K; i++)
rez *= kpr[N / K], rez %= MOD;
printf("%d", rez);
return 0;
}