Pagini recente » Cod sursa (job #1936245) | Cod sursa (job #1161506) | Cod sursa (job #1078713) | Cod sursa (job #2610529) | Cod sursa (job #2941449)
#include <stdio.h>
#include <stdlib.h>
#define MOD 2000003
static inline int fastpow(int x, int n) {
int res = 1;
for (; n; n >>= 1) {
if (n & 1) res = (1LL * res * x) % MOD;
x = (1LL * x * x) % MOD;
}
return res;
}
static inline int choose(int n, int k) {
long long res = 1, fact = 1;
for (int i = n; i > n - k; i--) {
res = (res * i) % MOD;
fact = (fact * (i - n + k)) % MOD;
}
return (int)((res * fastpow(fact, MOD - 2)) % MOD);
}
int N, K, P;
int main(void) {
freopen("sandokan.in", "r", stdin);
freopen("sandokan.out", "w", stdout);
scanf("%d%d", &N, &K);
P = (N - 1) % (K - 1) + 1;
printf("%d", choose(N - 1, P - 1));
fclose(stdout);
fclose(stdin);
return 0;
}