Pagini recente » Cod sursa (job #189480) | Cod sursa (job #1578730) | Cod sursa (job #2865438) | Cod sursa (job #185066) | Cod sursa (job #1483928)
#include<stdio.h>
#define lul unsigned long long
#define N 666013
lul n,k,f[4999],r,c,m,i;
lul P(lul x,lul n) {
lul y;
for(y=1;n;n>>=1,x=(x*x)%N)
if(n%2)
y=(y*x)%N;
return y;
}
int main() {
freopen("kperm.in","r",stdin),freopen("kperm.out","w",stdout),scanf("%llu%llu",&n,&k);
if(k%2==0)
printf("0");
else {
c=n/k,r=n%k,f[0]=1,m=r;
if(k-r>m)
m=k-r;
if(c+1>m)
m=c+1;
for(i=1;i<=m;i++)
f[i]=(i*f[i-1])%N;
printf("%llu",(((f[r]*f[k-r])%N)*((P(f[c],k-r)*P(f[c+1],r))%N))%N);
}
}