Pagini recente » Cod sursa (job #170336) | Cod sursa (job #3005249) | Cod sursa (job #1135711) | Cod sursa (job #1835789) | Cod sursa (job #25937)
Cod sursa(job #25937)
#include <cstdio>
#define mod 666013
int n;
long long k;
long long rez = 1;
void readdata()
{
freopen("kperm.in", "r", stdin);
freopen("kperm.out", "w", stdout);
scanf("%d %d", &n, &k);
}
void solve()
{
long long v1, v2, val, aux;
int i;
v1 = n%k;
v2 = k - n%k;
for (i = 1; i <= v1; ++i)
rez = (rez * (long long)i) % mod;
for (i = 1; i <= v2; ++i)
rez = (rez * (long long)i) % mod;
val = 1;
for (i = 1; i <= n/k+1; ++i)
val = (val * (long long)i) % mod;
aux = 1;
for (i = 1; i <= v1; ++i)
aux = (aux * val) % mod;
rez = (rez * aux) % mod;
val = 1;
for (i = 1; i <= n/k; ++i)
val = (val * (long long)i) % mod;
aux = 1;
for (i = 1; i <= v2; ++i)
aux = (aux * val) % mod;
rez = (rez * aux) % mod;
}
void writedata()
{
printf("%d\n", k%2 ? rez : 0);
}
int main()
{
readdata();
solve();
writedata();
return 0;
}