Pagini recente » Cod sursa (job #26261) | Cod sursa (job #3232968) | Cod sursa (job #3290891) | Cod sursa (job #394001) | Cod sursa (job #2814727)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("kperm.in");
ofstream fout("kperm.out");
/// daca k=par rez=0
/// f[c1]*f[fr[1]]*f[fr[2]]*...*f[fr[c1]]*
/// f[c2]*f[fr[c1+1]]*f[fr[c1+2]]*...*f[fr[k-1]]*f[fr[0]]
const int mod=666013;
int n,k;
int fr[5005],f[5005];
int main()
{
fin>>n>>k;
if(k%2==0)
{
fout<<"0\n";
return 0;
}
int i;
fr[0]=n/k;
for(i=1; i<k; i++)
{
if(i<=n%k)
fr[i]=n/k+1;
else
fr[i]=n/k;
}
f[0]=1;
for(i=1; i<=n; i++)
f[i]=1LL*f[i-1]*i%mod;
int c1=0,c2;
for(i=0; i<k; i++)
if(fr[i]==fr[1])
c1++;
c2=k-c1;
int ans=1;
for(i=0; i<k; i++)
ans=1LL*ans*f[fr[i]]%mod;
ans=1LL*ans*f[c1]*f[c2]%mod;
fout<<ans<<"\n";
return 0;
}