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