#include<bits/stdc++.h>
using namespace std;
#define endl "\n"
const int MOD = 1e9 + 7;
const int N = 1010;
int num[N][N];
int f(int i, int j) {
if (( j == 1) || ( i == 1)) {
return 1;
}
// 记忆化数组
if (num[i][j] != -1) {
return num[i][j];
}
// 递归计算并存储结果
num[i][j] = (f(i - 1, j) + f(i, j - 1)) % MOD;
return num[i][j];
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
int i, j;
cin >> i >> j;
memset(num, -1, sizeof(num));
cout << f(i, j) << endl;
return 0;
}

京公网安备 11010502036488号