Pagini recente » Cod sursa (job #315326) | Cod sursa (job #1930158) | Cod sursa (job #693660) | Cod sursa (job #1147702) | Cod sursa (job #1224759)
#include <fstream>
using namespace std;
ifstream fin ("kperm.in");
ofstream fout ("kperm.out");
const int M = 5005, mod = 666013;
int f[M], n, k, sol = 1, x;
int main() {
f[0] = f[1] = 1;
for (int i = 2; i < M; ++i)
f[i] = 1LL * f[i-1] * i % mod;
fin >> n >> k;
if ((k * (k + 1) / 2) % k) {
fout << 0;
return 0;
}
x = n / k;
int m = (n % k) ? (n % k) : k;
sol = 1LL * f[m] * f[k-m] % mod;
for (int i = 1; i <= n % k; ++i)
sol = 1LL * sol * f[x+1] % mod;
for (int i = n % k + 1; i <= k; ++i)
sol = 1LL * sol * f[x] % mod;
fout << sol;
}