Pagini recente » Cod sursa (job #862497) | Cod sursa (job #1340142) | Cod sursa (job #1481917) | Cod sursa (job #1249166) | Cod sursa (job #1593848)
#include <cstdio>
using namespace std;
const int Mod=2000003;
long long nr,ans;
int n,i,k;
int gcd(int a,int b,int &x,int &y)
{
if(!b)
{
x=1;
y=0;
return a;
}
int x1,y1,d=gcd(b,a%b,x1,y1);
x=y1;
y=x1-(a/b)*y1;
return d;
}
int invMod(int a,int b)
{
int x,y,c=gcd(a,b,x,y);
while(x<0) x+=Mod;
return x;
}
int main()
{
freopen("sandokan.in","r",stdin);
freopen("sandokan.out","w",stdout);
scanf("%d%d",&n,&k);
nr=ans=1LL;
for(i=1;i<=n;++i)
{
nr=nr*i%Mod;
if(i==k) ans=ans*invMod(nr,Mod)%Mod;
if(i==n-k) ans=ans*invMod(nr,Mod)%Mod;
}
ans=ans*nr%Mod;
printf("%lld\n",ans);
return 0;
}