#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1e5+1e4,M=1e3+1e2;
const ll Maxn=0x3ffffff,Minm=-0x3ffffff;
ll n,m;
ll f[M][M]; //f i j表示走到i,j的方案数
signed main()
{
cin>>n>>m;
n++,m++; //从1,1开始计算方便一点
f[1][1]=1;
for(ll i=1;i<=n;i++)
for(ll j=1;j<=m;j++)
if(i!=1||j!=1)f[i][j]=f[i][j-1]+f[i-1][j]; //每一个格子都可以是上面或者是右面的格子走过来,(1,1)特判!!!
cout<<f[n][m];
}