Pagini recente » Cod sursa (job #1036970) | Cod sursa (job #1428161) | Cod sursa (job #3185147) | Cod sursa (job #836506) | Cod sursa (job #25630)
Cod sursa(job #25630)
#include <cstdio>
#define modulo 666013
long long n,k;
int main() {
freopen("kperm.in","r",stdin);
freopen("kperm.out","w",stdout);
scanf("%lld%lld",&n,&k);
if(k % 2 == 0) {
printf("0\n");
return 0;
}
long long n1 = n % k;
// if(n1 == 0) n1 = k;
long long n2 = k - n1;
long long dec1 = n / k + 1;
long long dec2 = dec1 - 1;
long long r = 1;
for(int i = 1; i <= n1; i++) r = ((long long)r * i) % modulo;
for(int i = 1; i <= n2; i++) r = ((long long)r * i) % modulo;
int c1 = 1,cc1 = 1;
int c2 = 1,cc2 = 1;
for(int i = 1; i <= dec1; i++) c1 = ((long long)c1 * i) % modulo;
for(int i = 1; i <= n1; i++) cc1 = ((long long)cc1 * c1) % modulo;
for(int i = 1; i <= dec2; i++) c2 = ((long long)c2 * i) % modulo;
for(int i = 1; i <= n2; i++) cc2 = ((long long)cc2 * c2) % modulo;
r = (long long)(((r * cc1 % modulo) * cc2) % modulo);
printf("%lld\n",r);
return 0;
}