Pagini recente » Cod sursa (job #1473837) | Cod sursa (job #908604) | Cod sursa (job #2986988) | Cod sursa (job #1297369) | Cod sursa (job #2293131)
#include <bits/stdc++.h>
#define ff first
#define ss second
using namespace std;
typedef long long ll;
typedef long double ld;
const string file = "sandokan";
const ll INF = 9223372036854775807ll;
const int inf = 2147483647, M = 2000003;
int n, k, f[5005];
int pw(int x, int y)
{
int p = 1;
while(y)
if(y%2 == 0){
x = (1ll*x*x)%M;
y /= 2;
}else{
p = (1ll*p*x)%M;
--y;
}
return p;
}
int main()
{
ifstream fin (file+".in");
ofstream fout (file+".out");
fin >> n >> k;
f[0] = 1;
for (int i = 1; i <= n; ++i)
f[i] = (1ll*f[i-1]*i)%M;
int ans = f[n-1];
ans = (1ll*ans*pw(f[(n-1)%k], M-2))%M;
ans = (1ll*ans*pw(f[n-1-((n-1)%k)], M-2))%M;
fout << ans << "\n";
return 0;
}