Pagini recente » Cod sursa (job #1362131) | Cod sursa (job #933367) | Cod sursa (job #1429232) | Cod sursa (job #868418) | Cod sursa (job #515917)
Cod sursa(job #515917)
#include <stdio.h>
#define NMAX 5005
#define MOD 666013
#define ll long long
int n,k,fact[NMAX],cat,rest;
ll rez;
int main()
{
freopen("kperm.in","r",stdin);
freopen("kperm.out","w",stdout);
scanf("%d%d",&n,&k);
if (k % 2==0)
{
printf("0\n");
return 0;
}
int i;
fact[0]=1;
for (i=1; i<=n; i++)
fact[i]=(fact[i-1]*i)%MOD;
cat=n/k+1; rest=n%k;
rez=fact[rest];
for (i=1; i<=rest; i++)
rez=(rez*fact[cat])%MOD;
rez=(rez*fact[k-rest])%MOD;
for (i=1; i<=k-rest; i++)
rez=(rez*fact[cat-1])%MOD;
printf("%lld\n",rez);
return 0;
}