#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, m, a = 1;
std::cin >> n >> m;
std::vector<int> lastVec, curVec(m, 1);
for (int i = 1; i < n; ++i) {
lastVec = std::move(curVec);
curVec.resize(m);
curVec[0] = 1;
for (int j = 1; j < m; ++j) {
curVec[j] = (lastVec[j] + curVec[j - 1]) % 1000000007;
}
}
std::cout << curVec[m - 1] << std::endl;
return 0;
}

京公网安备 11010502036488号