Pagini recente » Cod sursa (job #832545) | Cod sursa (job #2796638) | Cod sursa (job #1687590) | Cod sursa (job #1146078) | Cod sursa (job #386691)
Cod sursa(job #386691)
#include <algorithm>
using namespace std;
#define ll long long
#define MOD 666013
#define DIM 5005
ll n,k,c,r,nrt;
ll fact[DIM];
ll lgput (ll n,ll p)
{
ll rez;
for (rez=1; p; p>>=1)
{
if (p&1)
rez=(rez*n)%MOD;
n=(n*n)%MOD;
}
return rez;
}
void solve ()
{
ll i;
fact[0]=1;
for (i=1; i<=n; ++i)
fact[i]=(fact[i-1]*i)%MOD;
c=n/k; r=n%k;
nrt=(fact[r]*fact[k-r])%MOD;
nrt=(nrt*lgput (fact[c+1],r))%MOD;
nrt=(nrt*lgput (fact[c],k-r))%MOD;
printf ("%lld",nrt);
}
int main ()
{
freopen ("kperm.in","r",stdin);
freopen ("kperm.out","w",stdout);
scanf ("%lld%lld",&n,&k);
if (k&1)
solve ();
else
printf ("0");
return 0;
}