Pagini recente » Cod sursa (job #2199091) | Cod sursa (job #1666093) | Cod sursa (job #2393328) | Cod sursa (job #1511739) | Cod sursa (job #1256011)
#include <fstream>
#include <vector>
#include <bitset>
#define DIM 50011
#define MOD 666013
using namespace std;
ifstream f("kperm.in");
ofstream g("kperm.out");
long long n,c,k,r,q1,q2,q3,q4;
inline long long up(long long a,long long b){
if(b==0)
return 1;
else{
long long q=up(a,b/2);
q*=q,
q%=MOD;
if(b%2) q*=a;
return q%MOD;
}
}
long long F[DIM];
int main(void){
f>>n>>k;
if(!k){
g<<"0";
return 0;
}
F[0] = 1;
for (long long i=1;i<=n;i++)
F[i] = F[i-1]*i%MOD;
//ciur();
r=n%k,c=n/k;
q1=F[r],q2=F[k-r];
q3=F[c+1],q3=up(q3,r);
q4=F[c],q4=up(q4,k-r);
q1=(((q1*q2)%MOD)*((q3*q4)%MOD))%MOD;
g<<q1;
return 0;
}