Pagini recente » Cod sursa (job #844594) | Cod sursa (job #1921594) | Cod sursa (job #2507591) | Cod sursa (job #1135682) | Cod sursa (job #1914792)
#include <fstream>
using namespace std;
const int MOD = 666013;
int fact(int nr) {
int ans = 1;
for (int i = 1; i <= nr; ++ i)
ans = (1LL * ans * i) % MOD;
return ans;
}
int raise(int a, int b) {
int ans = 1;
for (int i = 1; i <= b; ++ i)
ans = (1LL * ans * a) % MOD;
return ans;
}
int main()
{
ifstream cin("kperm.in");
ofstream cout("kperm.out");
int N, K;
cin >> N >> K;
int x = N % K;
int y = K - x;
int nrx = N / K + 1;
int nry = N / K;
int ans1 = (1LL * fact(x) * fact(y)) % MOD;
int ans2 = (1LL * raise(fact(nrx), x) * raise(fact(nry), y)) % MOD;
int ans = (1LL * ans1 * ans2) % MOD;
cout << ans << '\n';
return 0;
}