Pagini recente » Cod sursa (job #2024887) | Cod sursa (job #11253) | Cod sursa (job #2562151) | Cod sursa (job #2227993) | Cod sursa (job #1994232)
#include <fstream>
using namespace std;
ifstream fin ("sandokan.in"); ofstream fout ("sandokan.out");
typedef long long i64;
const int nmax = 5000;
const int mod = 2000003;
i64 lgput (i64 b, int p) {
i64 ans = 1;
while (p > 0) {
if (p & 1) {
ans = ans * b % mod;
}
b = b * b % mod;
p >>= 1;
}
return ans;
}
int main() {
int n, k;
fin >> n >> k;
int r = n;
while (r >= k) {
r -= (k - 1);
}
// C(n-1, r-1)
i64 ans = 1;
for (int i = n - r + 1; i <= n - 1; ++ i) {
ans = ans * i % mod;
}
i64 inv = 1;
for (int i = 1; i <= r - 1; ++ i) {
inv = inv * i % mod;
}
fout << ans * lgput(inv, mod - 2) % mod << "\n";
fin.close();
fout.close();
return 0;
}