Pagini recente » Cod sursa (job #1197291) | Cod sursa (job #1012609) | Cod sursa (job #351410) | Cod sursa (job #2565426) | Cod sursa (job #1411593)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("kperm.in");
ofstream fout("kperm.out");
const int MOD = 666013;
int N, K, lim;
long long sol1, sol2;
long long fact[5005];
int Rmic, Rmare, Cmic, Cmare;
int main()
{
fin >> N >> K;
Rmic = N % K;
Rmare = K - Rmic;
Cmare = (N - Rmic) / K;
Cmic = Cmare + 1;
lim = max(K, Cmic);
fact[0] = 1LL;
for (int i = 1; i <= lim; ++i)
fact[i] = (i * fact[i - 1]) % MOD;
sol1 = fact[Rmic];
for (int i = 1; i <= Rmic; ++i)
sol1 = (sol1 * fact[Cmic]) % MOD;
sol2 = fact[Rmare];
for (int i = 1; i <= Rmare; ++i)
sol2 = (sol2 * fact[Cmare]) % MOD;
fout << (sol1 * sol2) % MOD << '\n';
fin.close();
fout.close();
return 0;
}