Pagini recente » Cod sursa (job #2927353) | Cod sursa (job #1390684) | Cod sursa (job #2886580) | Cod sursa (job #871841) | Cod sursa (job #761637)
Cod sursa(job #761637)
#include <fstream>
using namespace std;
long long N, K;
void Citire () {
ifstream fin ("kperm.in");
fin >> N >> K;
fin.close ();
}
int main ()
{
Citire ();
ofstream fout ("kperm.out");
if (K % 2 == 0)
{
fout << "0";
fout.close ();
return 0;
}
long long lol1 = 1, lol2 = 1;
long long c = N / K;
long long r = N % K;
for (long long i = 2; i <= r; i++)
{
lol1 = (lol1 * i) % 666013;
}
for (long long i = 2; i <= K - r; i++)
{
lol2 = (lol2 * i) % 666013;
}
long long alfa = 1, alfa2;
for (long long i = 2; i <= c; i++)
{
alfa = (alfa * i) % 666013;
}
long long q = 1, w;
alfa2 = (alfa * (c + 1)) % 666013;
w = 1;
for (long long i = 1; i <= K - r; i++)
{
q = (q * alfa) % 666013;
}
for (long long i = 1; i <= r; i++)
{
w = (w * alfa2) % 666013;
}
w = (w * q) % 666013;
w = (lol1 * w) % 666013;
w = (lol2 * w) % 666013;
fout << w;
fout.close ();
return 0;
}