Pagini recente » Cod sursa (job #2479816) | Cod sursa (job #808691) | Cod sursa (job #3123575) | Cod sursa (job #2938077) | Cod sursa (job #481833)
Cod sursa(job #481833)
#include <algorithm>
#include <stdio.h>
#define MAX 5010
#define restRez 666013
#define ll long long
using namespace std;
int n, k;
ll fact[MAX];
int main()
{
freopen("kperm.in", "r", stdin);
freopen("kperm.out", "w", stdout);
scanf("%d %d", &n, &k);
fact[0] = 1;
for (int i = 1; i <= n; i++)
fact[i] = (fact[i - 1] * i) % restRez;
int lim = n % k;
ll sol = 0;
if (k % 2)
{
sol = (fact[lim] * fact[k - lim]) % restRez;
for (int i = 1; i <= lim; i++)
sol = (sol * fact[(n / k + 1)]) % restRez;
for (int i = 1; i <= k - lim; i++)
sol = (sol * fact[(n / k)]) % restRez;
}
printf("%lld\n", sol);
fclose(stdin);
fclose(stdout);
return 0;
}