#include <bits/stdc++.h>
using namespace std;
long long int gcd(long long int a, long long int b) {
  return b ? gcd(b, a % b) : a;
}
long long int lcm(long long int a, long long int b) {
  return a * b / gcd(a, b);
}
const int N = 1e9 + 7;
long long int C[2010][2010];
int n, m;
void pa() {
  C[0][0] = 1;
  for (int i = 1; i <= 2000; i++) {
    C[i][0] = 1;
    for (int j = 1; j <= i; j++) {
      C[i][j] = (C[i - 1][j - 1] + C[i - 1][j]) % N;
    }
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  pa();
  cin >> n >> m;
  cout << C[2 * m + n - 1][2 * m] << endl;
  return 0;
}
