Pagini recente » Cod sursa (job #3142042) | Cod sursa (job #2953377) | Cod sursa (job #1743117) | Cod sursa (job #678027) | Cod sursa (job #1993237)
#include <stdio.h>
#define mod 666013
int n,m,r,c;
long long sol;
int fact(int x)
{
long long rez=1;
for (int i=1;i<=x;i++) rez=(rez*i)%mod;
return rez;
}
unsigned power(unsigned long long a,unsigned b)
{
unsigned sol=1;
for(;b;b>>=1)
{
if(b&1) sol=(sol*a)%mod;
a=(a*a)%mod;
}
return sol;
}
int main()
{
freopen("kperm.in","r",stdin);
freopen("kperm.out","w",stdout);
scanf("%lld %lld",&n,&m);
if (n%m==0)
{
c=n/m-1;
r=m;
}
else {
c=n/m;
r=n%m;
}
if (m%2==0) printf("0\n");
else {
sol=(fact(r)*fact(m-r))%mod;
sol=(sol*power(fact(c+1),r))%mod;
sol=(sol*power(fact(c),m-r))%mod;
printf("%lld\n",sol);
}
}