#include <stdio.h>
/*
int f(int m,int n,int c,int okay)
{
if(n<c)
{
printf("%d ",m);
return m;
}
m=m*n;
if(m%2==0&&okay==1)
{
okay=0;
m=m/2;
}
return f(m,n-1,c,okay);
}
int Fc(int m,int c,int okay)
{
if(c==0)
{
printf("%d ",m);
return m;
}
m=m*c;
if(m%2==0&&okay==1)
{
okay=0;
m=m/2;
}
return Fc(m,c-1,okay);
}
*/
int fc(int c,int c1,int n1,int m,int m1,int okay,int okay1)
{
if(okay==0&&okay1==0)
{
m=m/m1;
return m;
}
if(n1<c)
{
okay--;
}
if(c1==0)
{
okay1--;
}
if(okay==1)
{
m=m*n1;
}
if(okay1==1)
{
m1=m1*c1;
}
if(m%2==0&&m1%2==0)
{
m=m/2;
m1=m1/2;
printf("%d %d\n",m,m1);
}
return fc(c,c1-1,n1-1,m,m1,okay,okay1);
}
int main()
{
int n,c,n1,c1,r,m=1,m1=1,co,f1,okay=1,okay1=1;
scanf("%d %d",&n,&r);
if(n<r) //n이 r보다 작다면 교차 코드
{
c=r;
r=n;
n=c;
}
if(r==1)
{
printf("%d",n);
return 0;
}
c=n-r;
n1=n;
c1=c;
/*
f1=f(m,n,c,okay); //n-1 팩토리얼, 팩토리얼 값은 f1
okay=1;
c1=Fc(m,c,okay); //c-1 팩토리얼, 팩토리얼 값은 c1
co=f1/c1;
*/
co=fc(c,c1,n1,m,m1,okay,okay1);
printf("\n%d",co);
}