Pagini recente » Cod sursa (job #1699479) | Cod sursa (job #1853761) | Cod sursa (job #2635240) | Cod sursa (job #715378) | Cod sursa (job #2339315)
#include <bits/stdc++.h>
#define MOD 2000003
using namespace std;
ifstream in ("sandokan.in") ;
ofstream out ("sandokan.out") ;
const int NR = 5002 ;
int fact [ NR ] ;
int64_t lgpow ( int64_t x , int64_t y )
{
if ( y == 1 ) return x ;
if ( y % 2 ) return 1LL * x * lgpow ( ( 1LL * x * x ) % MOD , y >> 1 ) % MOD ;
else return lgpow ( ( 1LL * x * x ) % MOD , y >> 1 ) ;
}
int main ()
{
int64_t n2 , n , k , nc = 1 , nk = 1 ; in >> n >> k ;
n2 = n ;
while ( n >= k ) n -= k - 1 ;
k = n - 1 ;
n = n2 - 1 ;
for ( int i = n - k + 1 ; i <= n ; ++ i ) nc = nc * i % MOD ;
for ( int i = 2 ; i <= k ; ++ i ) nk = nk * i % MOD ;
out << nc * lgpow( nk , MOD - 2 ) % MOD ;
return 0 ;
}