Pagini recente » Cod sursa (job #2264640) | Cod sursa (job #302021) | Cod sursa (job #625743) | Monitorul de evaluare | Cod sursa (job #782208)
Cod sursa(job #782208)
#include<cstdio>
#include<cmath>
using namespace std;
#define MODULO 666013
int main()
{
freopen("kperm.in","r",stdin);
freopen("kperm.out","w",stdout);
long long rez=1,n,k,r,d,c,rf,cf1,cf,i,df,cf2,cf3;
scanf("%lld %lld",&n,&k);
if(n%2==0)printf("0");
else
{
c=n/k;
r=n%k;
d=k-r;
for(rf=1, i=2;i<=r;++i)
rf=(rf*i)%MODULO;
for(df=1, i=2;i<=d;++i)
df=(df*i)%MODULO;
for(cf=1, i=2;i<=d;++i)
cf=(cf*i)%MODULO;
cf2=cf;
cf3=cf1=(cf*(c+1))%MODULO;
for( i=1;i<d;++i)
cf2=(cf2*cf)%MODULO;
for(i=1;i<r;++i)
cf3=(cf3*cf1)%MODULO;
rez=(rez*rf)%MODULO;
rez=(rez*df)%MODULO;
rez=(rez*cf2)%MODULO;
rez=(rez*cf3)%MODULO;
printf("%lld",rez);
}
return 0;
}