Pagini recente » Cod sursa (job #2258039) | Cod sursa (job #1622220) | Cod sursa (job #3256190) | Cod sursa (job #351735) | Cod sursa (job #3251249)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sandokan.in");
ofstream fout("sandokan.out");
const long long mod = 2000003;
long long n, k;
static inline long long Prod(long long a, long long b) {
return (a * b) % mod;
}
static inline long long Put(long long a = 2, long long n = 2) {
long long p = 1;
while(n) {
if(n & 1) p = Prod(p, a);
a = Prod(a, a);
n >>= 1;
}
return p;
}
static inline long long Inv(long long a) {
return Put(a, mod - 2);
}
static inline long long Comb(long long n, long long k) {
long long nr = 1;
long long nm = 1;
for(int i = 1; i <= k; i++) {
nr = Prod(nr, n - i + 1);
nm = Prod(nm, i);
}
return Prod(nr, Inv(nm));
}
int main() {
fin >> n >> k;
n--;
k--;
fout << Comb(n, n % k);
return 0;
}