#include <stdio.h>
int fc(int c,int c1,int n1,int m,int m1,int okay,int okay1,int mi) //c와 n을 맞대며 함께 팩토리얼 진행, 약분
{
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;
}
mi=m1;
mi=abb(m,m1,mi);
if(mi<1)
{
mi=-mi;
m=m/mi;
return m;
}
m=m/mi;
m1=m1/mi;
// if(m1==1)
// {
// m=m/m1;
// return m;
// }
return fc(c,c1-1,n1-1,m,m1,okay,okay1,mi);
}
int abb(int m,int m1,int mi) //fc에서 불려져 약분을 할수 있는 최대치 구하기
{
if(mi==1)
{
if(m%mi==0&&m1%mi==0&&m1/mi==1)
{
return -mi;
}
return mi;
}
if(m%mi==0&&m1%mi==0)
{
return mi;
}
mi--;
return abb(m,m1,mi);
}
int main()
{
int n,c,n1,c1,r,m=1,m1=1,co,f1,okay=1,okay1=1,mi;
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;
co=fc(c,c1,n1,m,m1,okay,okay1,mi);
printf("%d",co);
return 0;
}