//https://www.nowcoder.com/practice/e2a22f0305eb4f2f9846e7d644dba09b?tpId=37&tqId=21314&rp=1&ru=/exam/oj/ta&qru=/exam/oj/ta&sourceUrl=%2Fexam%2Foj%2Fta%3Fpage%3D1%26pageSize%3D50%26search%3D91%26tpId%3D37%26type%3D37&difficulty=undefined&judgeStatus=undefined&tags=&title=91

#include <iostream>

using namespace std;

int main() {
   int n = 0;
   int m = 0;

   cin >> n >> m;

//   int dp[m+1][n+1] = {0};
    int dp[n+1][m+1];
   dp[0][0] = 1;

   for(int i = 0;i<=n;i++)
    dp[i][0] = 1;

    for(int i = 0;i<=m;i++)
    dp[0][i] = 1;

   for(int i = 1;i<=n;i++)
    for(int j = 1;j<=m;j++)
        dp[i][j] = dp[i-1][j]+dp[i][j-1];

   cout << dp[n][m];

    return 0;

}
// 64 位输出请用 printf("%lld")