Pagini recente » Cod sursa (job #1575920) | Cod sursa (job #2750177) | Cod sursa (job #2324170) | Cod sursa (job #2825995) | Cod sursa (job #1746725)
#include <iostream>
#include <fstream>
#define mod 666013
using namespace std;
int fact (int k)
{
int sol = 1;
for (int i = 1; i <= k; i++)
sol = (sol * i) % mod;
return sol;
}
int put (int baza, int exp)
{
int sol = 1;
for (int i = 1; i <= exp; i++)
sol = (sol * baza) % mod;
return sol;
}
int n, k ;
int main()
{
ifstream cin ("kperm.in");
ofstream cout ("kperm.out");
cin >> n >> k;
int r = n % k;
int c = n / k;
if (k % 2 == 0)
{
cout << "0";
return 0;
}
if (2 * k <= n)
{
cout << "0";
return 0;
}
int rez = fact (r);
rez = (rez * fact(k - r)) % mod;
int debug = 0;
if (debug)
{
cout << rez << " ";
}
int b1 = fact(c + 1);
rez = (rez * put(b1, r)) % mod;
if (debug)
{
cout << b1 << " ";
}
int b2 = fact(c);
rez = (rez * put(b2, k - r)) % mod;
cout << rez;
return 0;
}