Pagini recente » Monitorul de evaluare | Cod sursa (job #1957046) | Cod sursa (job #226714) | Profil minhnhatnoe | Cod sursa (job #1693090)
#include <fstream>
using namespace std;
ifstream cin("kperm.in");
ofstream cout("kperm.out");
const int LIM=5005, MOD=666013;
int n, k;
long long fact[LIM], ans;
int main()
{
cin>>n>>k;
fact[0]=1;
for(int i=1; i<=n; ++i)
fact[i]=(fact[i-1]*i)%MOD;
int rest=n%k;
if(k&1)
{
ans=(fact[rest]*fact[k-rest])%MOD;
for(int i=1; i<=rest; ++i)
ans=(ans*fact[n/k+1])%MOD;
for(int i=1; i<=k-rest; ++i)
ans=(ans*fact[n/k])%MOD;
}
cout<<ans;
return 0;
}