Pagini recente » Cod sursa (job #1397278) | Cod sursa (job #1681759) | Cod sursa (job #2555301) | Cod sursa (job #788338) | Cod sursa (job #1222307)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("kperm.in");
ofstream fout("kperm.out");
#define MOD 666013
long long fact[5005];
int pow(long long a, int p)
{
long long rez=1;
while(p)
{
if(p&1)
rez=(1LL*rez*a)%MOD;
a=(1LL*a*a)%MOD;
p>>=1;
}
return rez;
}
int main()
{
int n, k, a, b, c, d, i, x, rez;
fin>>n>>k;
fact[0]=1;
for(i=1;i<=n;i++)
fact[i]=1LL*(fact[i-1]*i)%MOD;
if(k%2==0)
{
fout<<"0\n";
return 0;
}
a = n / k;
b = n % k;
if(b==0)
c=a;
else
c=a+1;
d=(k-n%k);
cout<<a<<" "<<b<<" "<<c<<" "<<d<<" ";
//while(n==k);
fout<<(1LL*((1LL*pow(fact[c], b)*fact[b])%MOD)*((1LL*pow(fact[a], d)*fact[d])%MOD))%MOD;
}