Pagini recente » Cod sursa (job #107592) | Cod sursa (job #2241552) | Cod sursa (job #56746) | Cod sursa (job #1772561) | Cod sursa (job #477071)
Cod sursa(job #477071)
#include <cstdio>
#include <cstring>
#define mod 666013
#define lint long long
lint n, K;
int main ()
{
freopen ("kperm.in", "r", stdin);
freopen ("kperm.out", "w", stdout);
scanf ("%lld %lld\n", &n, &K);
lint C = n / K;
lint R = n % K;
if ((K * (K -1) / 2) % K)
{
printf ("0\n");
return 0;
}
lint sol = 1;
int i;
for (i = 2; i <= R; ++i)
sol *= i,
sol %= mod;
lint kr = 1;
for (i = 2; i <= K - R; ++i)
kr *= i,
kr %= mod;
sol *= kr;
sol %= mod;
lint c1 = 1;
for (i = 2; i <= C + 1; ++i)
c1 *= i,
c1 %= mod;
lint c11 = c1;
for (i = 2; i <= R; ++i)
c1 *= c11,
c1 %= mod;
sol *= c1;
sol %= mod;
lint cc = 1;
for (i = 2; i <= C; ++i)
cc *= i,
cc %= mod;
lint ccc = cc;
for (i = 2; i <= K - R; ++i)
cc *= ccc,
cc %= mod;
sol *= cc;
sol %= mod;
printf ("%lld\n", sol);
return 0;
}