/*
#include <stdio.h>
int n;
int a[110];
long long c[110];
long long rec(int b)
{
if(a[b] == 1) return c[b];
a[b]=1;
if(b <= 2) return c[b]=1;
return c[b]=rec(b-2)%1000000007+rec(b-1)%1000000007;
}
int main()
{
scanf("%d", &n);
printf("%lld", rec(n)%1000000007);
return 0;
}
*/
#include <stdio.h>
int arr[51][51]= {};
int rec(int n, int k)
{
if(arr[n][k]!=0)
return arr[n][k];
if(k==1 || n==1)
return arr[n][k] = 1;
else
return arr[n][k] = ( rec(n-1, k) + rec(n, k-1) );
}
int main()
{
int n, k;
scanf("%d %d", &n, &k);
printf("%d", rec(n, k));
printf("\n\n");
for(int i=0; i<5; i++) {
for(int j=0; j<5; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}