Pagini recente » Cod sursa (job #365503) | Cod sursa (job #1510203) | Cod sursa (job #2685202) | Cod sursa (job #14605) | Cod sursa (job #2212303)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("kperm.in");
ofstream fout("kperm.out");
typedef long long ll;
const ll MOD=666013;
ll n,k;
ll fact(ll x)
{
ll ans=1,i;
for(i=1;i<=x;i++)
ans=(ll)ans*i%MOD;
return ans;
}
ll expow(ll a,ll b)
{
ll ans=1;
while(b)
{
if(b%2==1)
ans=(ll)ans*a%MOD;
a=(ll)a*a%MOD;
b/=2;
}
return ans;
}
int main()
{
fin>>n>>k;
if(n%k==0)
fout<<(ll)fact(k)*(ll)expow(fact(n/k),k)%(ll)MOD<<"\n";
else
{
ll rest=n%k;
fout<<(ll)fact(rest)*(ll)expow(fact(n/k+1),rest)%(ll)MOD*(ll)fact(k-rest)%(ll)MOD*(ll)expow(fact(n/k),k-rest)%(ll)MOD<<"\n";
}
return 0;
}
/**
8
1 2 7 3 4 8 5 6
**/