Pagini recente » Cod sursa (job #707862) | Cod sursa (job #1397689) | Cod sursa (job #525749) | Cod sursa (job #2098681) | Cod sursa (job #188316)
Cod sursa(job #188316)
#include <stdio.h>
#define NMAX 5002
#define modulo 666013
long long fact[NMAX];
long long n,i,j,k,x,y;
long long sol;
long long af[NMAX],rs[NMAX];
int main()
{
freopen("kperm.in","r",stdin);
freopen("kperm.out","w",stdout);
scanf("%lld %lld",&n,&k);
if ( ( k*(k+1)/2 )%k != 0 ) {printf("0");return 0;}
for (i=1;i<=n;i++)
{
j=i%k;
rs[j]++;
af[j]++;
}
fact[0]=1;
for (i=1;i<=n;i++)
fact[i]=(fact[i-1]*i)%modulo;
x=n%k;
y=k-x;
sol=(fact[x]*fact[y])%modulo;
for (i=0;i<k;i++)
sol=(sol*fact[ rs[i]] )%modulo;
printf("%lld",sol);
}