Pagini recente » Cod sursa (job #2325223) | Cod sursa (job #934133) | Cod sursa (job #2782507) | Cod sursa (job #613195) | Cod sursa (job #1779204)
#include <cstdio>
#define NMax 5000
const int MOD = 2000003;
int v[NMax+1];
void lgput(int& X, int B)
{
int A=1;
while(B>1)
{
if(B%2) { A=(1LL*A*X)%MOD; X=(1LL*X*X)%MOD; }
else X=(1LL*X*X)%MOD;
B/=2;
}
X = (1LL*X*A) % MOD;
}
int main(){
freopen("sandokan.in","r",stdin);
freopen("sandokan.out","w",stdout);
int i,N,K,up,down;
scanf("%d %d",&N,&K);
K = (N-1)%(K-1);
--N;
for(up = 1, i = N-K+1; i <= N; ++i) up = ( 1LL * up * i ) % MOD;
for(down = 1, i = 1; i <= K; ++i) down = ( 1LL * down * i ) % MOD;
lgput(down,MOD-2);
printf("%d\n", ( 1LL *
up * down ) % MOD );
return 0;
}