#include #include #include #include #include #include #include using namespace std; using ll = long long; constexpr int P = 1000000007; ll modinv(int n) { int m = P, y = 0, v = 1; while (1) { int q = m / n; int r = m % n; if (r == 0) return v < 0 ? v + P : v; y -= v * q; swap(y, v); m = n; n = r; } } int comb(int n, int k) { if (n < k || k < 0) return 0; ll t = 1; k = min(k, n - k); for (int i = 2; i <= k; i++) { t = (t * i) % P; } t = modinv(t); for (int i = n - k + 1; i <= n; i++) { t = (t * i) % P; } return t; } int main() { int n, m; cin >> n >> m; cout << comb(m + 1, n + 1) << endl; return 0; }