Pagini recente » Cod sursa (job #594015) | Cod sursa (job #2573521) | Cod sursa (job #245238) | Cod sursa (job #1753656) | Cod sursa (job #188313)
Cod sursa(job #188313)
#include <stdio.h>
#define NMAX 5002
#define modulo 666013
long int fact[NMAX];
long int n,i,j,k,x,y;
long int sol;
long int af[NMAX],rs[NMAX];
int main()
{
freopen("kperm.in","r",stdin);
freopen("kperm.out","w",stdout);
scanf("%ld %ld",&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("%ld",sol);
}