Pagini recente » Cod sursa (job #1794465) | Cod sursa (job #1363554) | Cod sursa (job #1898419) | Cod sursa (job #1311946) | Cod sursa (job #1960072)
#include <bits/stdc++.h>
#define M 666013
#define Nmax 5001
#define ll long long
using namespace std;
ifstream f("kperm.in");
ofstream g("kperm.out");
ll fct[Nmax];
ll put(ll a, ll n)
{
ll r=1;
while(n)
{
if(n%2) r=(a*r)%M;
n/=2;
a=(a*a)%M;
}
return r;
}
int main()
{ll n,k,r,c,i;
f>>n>>k;
fct[0]=1;
for(i=1;i<=n;i++)
fct[i]=(i*fct[i-1])%M;
r=n%k;
c=n/k;
ll p1,p2,p3;
p1=(fct[r]*fct[k-r])%M;
p2=fct[c+1];
p3=fct[c];
p2=put(p2,r);
p3=put(p3,k-r);
p2=(p2*p3)%M;
p1=(p1*p2)%M;
g<<p1;
return 0;
}