#include using namespace std; #define rep(i, n) for (int i = 0; i < (n); ++i) using ll = long long; using ull = unsigned long long; #include using mint = atcoder::modint1000000007; int main() { cin.tie(nullptr)->sync_with_stdio(false); constexpr int xx = 100'000; vector fact(xx + 1, 1); for (int i = 1; i <= xx; ++i) fact[i] = fact[i - 1] * i; vector factinv(xx + 1); factinv[xx] = fact[xx].inv(); for (int i = xx; i > 0; --i) factinv[i - 1] = factinv[i] * i; int n, m; cin >> n >> m; mint ans = 0; for (int r = n; r <= m; ++r) ans += fact[r] * factinv[r - n] * factinv[n]; cout << ans.val() << '\n'; return 0; }