Pagini recente » Cod sursa (job #2849439) | Cod sursa (job #2886348) | Cod sursa (job #1715893) | Cod sursa (job #1471380) | Cod sursa (job #1828761)
#include<fstream>
#define Mod 666013
using namespace std;
ifstream fi("kperm.in");
ofstream fo("kperm.out");
int t1,t2,t3,t4,rez,F[5002],n,k,r,c;
int p(int a, int p)
{
int rez=1,i;
for(i=0; (1<<i)<=p; i++)
{
if(((1<<i)&p)>0)
rez=(rez*a)%Mod;
a=(a*a)%Mod;
}
return rez%Mod;
}
void fact(int lim)
{
int i;
F[0]=1;
for(i=1; i<=lim; i++)
{
F[i]=(F[i-1]*i)%Mod;
}
}
int main()
{
fact(5000);
fi>>n>>k;
if(k%2==0)
{
fo<<"0\n";
fi.close();
fo.close();
return 0;
}
r=n%k;
c=n/k;
t1=F[r]%Mod;
t2=F[k-r]%Mod;
t3=p(F[c+1]%Mod,r)%Mod;
t4=p(F[c]%Mod,k-r)%Mod;
rez=(((t1*t2)%Mod)*((t3*t4)%Mod))%Mod;
fo<<rez<<"\n";
fi.close();
fo.close();
return 0;
}