Pagini recente » Cod sursa (job #1989049) | Cod sursa (job #656448) | Cod sursa (job #147260) | Cod sursa (job #328643) | Cod sursa (job #1557058)
#include <fstream>
using namespace std;
const int MOD = 666013;
int n, k;
int fact(int n) {
int ret = 1;
for(int i = 2; i <= n; ++i) {
ret = (1LL * ret * i) % MOD;
}
return ret;
}
int expo(int a, int b) {
int ret = 1;
while(b) {
if(b % 2) {
ret = (1LL * ret * a) % MOD;
}
a = (1LL * a * a) % MOD;
b /= 2;
}
return ret;
}
int main() {
ifstream f("kperm.in");
ofstream g("kperm.out");
f >> n >> k;
int ans = (1LL * fact(n % k) * fact(k - (n % k))) % MOD;
ans = (1LL * ans * expo(fact(n / k + 1), n % k)) % MOD;
ans = (1LL * ans * expo(fact(n / k), k - (n % k))) % MOD;
g << ans << "\n";
f.close();
g.close();
return 0;
}