/*
#include <stdio.h>
long long triangle[51][51] = {};
long long f(int r, int c)
{
if (r <= 0 || c <= 0)
return 0;
if (r == 1 || c == 1)
return 1;
if (triangle[r][c] != 0)
return triangle[r][c];
triangle[r][c] = (f(r - 1, c)% 100000000 + f(r, c - 1)% 100000000)% 100000000;
return triangle[r][c];
}
int main() {
int r, c;
scanf("%d %d", &r, &c);
printf("%lld", f(r, c)% 100000000);
return 0;
}
*/
/*
#include<stdio.h>
void sub(int n) {
if(n !=0) {
printf("*");
sub(n-1);
}
}
void triangle(int n) {
if(n==0) {
return;
}
triangle(n-1);
sub(n);
printf("\n");
}
int main() {
int n;
scanf("%d",&n);
triangle(n);
}
*/
// 팩토리얼 계산
//#include<stdio.h>
// int rec(int n)
// {
// if(n==0)
// {
// return 1
// }
// return rec(n-1)*n;
// }
//int main()
// {
// int n;
// scanf("%d",&n);
// printf("%d",rec(n));
//}
//#include<stdio.h>
//int rec(int n, int r)
//{
// rec(n,r)= n*(n-1)/( ((r-1)*r) * ((n-r)*(n-r-1)) );
// return rec(n,r);
//}
//int main ()
//{
// int r,n;
// scanf("%d %d",&n,&r);
// printf("%d",rec(n,r));
// return 0;
//}
#include<stdio.h>
int rec(n,r)
{
a= n*(n-1);
b= r*(r-1);
c= (n-r)*(n-r-1);
if(b>c)
{
rec(n,r)= a/b
return rec(n,r)=rec(n,r)/c ;
}
}
int main() {
int r,n;
scanf("%d %d",&n,&r);
printf("%d",rec(n,r));
return 0;
}



