Pagini recente » Cod sursa (job #551878) | Cod sursa (job #2952431) | Cod sursa (job #831641) | Cod sursa (job #1786695) | Cod sursa (job #984232)
Cod sursa(job #984232)
#include <fstream>
#define MAXN 5005
#define NRM 666013
using namespace std;
ifstream f("kperm.in");
ofstream g("kperm.out");
int n,k,perm[MAXN],a,b,x,sol,p;
int main()
{
int i;
f>>n>>k;
perm[0]=1;
for(i=1;i<=n;i++)
perm[i]=(1LL*perm[i-1]*i)%NRM;
a=n%k;
b=k-a;
if(k%2==0){
g<<"0\n";
return 0;}
sol=(1LL*perm[a]*perm[b])%NRM;
x=perm[n/k];
p=1;
for(i=1;i<=b;i++)
p=(1LL*p*x)%NRM;
sol=(1LL*sol*p)%NRM;
x=perm[n/k+1];
p=1;
for(i=1;i<=a;i++)
p=(1LL*p*x)%NRM;
sol=(1LL*sol*p)%NRM;
g<<sol<<'\n';
f.close();
g.close();
return 0;
}