#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
int r, g;
int dp[200005];
main() {
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
freopen("TEST.inp", "r", stdin);
freopen("TEST.out", "w", stdout);
cin >> r >> g;
int h = sqrt(2 * (r + g));
int sum = h * (h + 1) / 2;
if (sum > r + g) {
h--;
sum -= (h + 1);
}
dp[0] = 1;
for (int val = 1; val <= h; val++) {
for (int i = r; i >= val; i--) {
dp[i] += dp[i - val];
if (dp[i] >= MOD) dp[i] -= MOD;
}
}
int ans = 0;
for (int i = max(0, sum - g); i <= r; i++) {
ans += dp[i];
if (ans >= MOD) ans -= MOD;
}
cout << ans << '\n';
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBNT0QgPSAxZTkgKyA3OwppbnQgciwgZzsKaW50IGRwWzIwMDAwNV07CgptYWluKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKICAgIGZyZW9wZW4oIlRFU1QuaW5wIiwgInIiLCBzdGRpbik7CiAgICBmcmVvcGVuKCJURVNULm91dCIsICJ3Iiwgc3Rkb3V0KTsKICAgIGNpbiA+PiByID4+IGc7CgogICAgaW50IGggPSBzcXJ0KDIgKiAociArIGcpKTsKICAgIGludCBzdW0gPSBoICogKGggKyAxKSAvIDI7CiAgICBpZiAoc3VtID4gciArIGcpIHsKICAgICAgICBoLS07CiAgICAgICAgc3VtIC09IChoICsgMSk7CiAgICB9CiAgICBkcFswXSA9IDE7CiAgICBmb3IgKGludCB2YWwgPSAxOyB2YWwgPD0gaDsgdmFsKyspIHsKICAgICAgICBmb3IgKGludCBpID0gcjsgaSA+PSB2YWw7IGktLSkgewogICAgICAgICAgICBkcFtpXSArPSBkcFtpIC0gdmFsXTsKICAgICAgICAgICAgaWYgKGRwW2ldID49IE1PRCkgZHBbaV0gLT0gTU9EOwogICAgICAgIH0KICAgIH0KICAgIGludCBhbnMgPSAwOwogICAgZm9yIChpbnQgaSA9IG1heCgwLCBzdW0gLSBnKTsgaSA8PSByOyBpKyspIHsKICAgICAgICBhbnMgKz0gZHBbaV07CiAgICAgICAgaWYgKGFucyA+PSBNT0QpIGFucyAtPSBNT0Q7CiAgICB9CgogICAgY291dCA8PCBhbnMgPDwgJ1xuJzsKCiAgICByZXR1cm4gMDsKfQo=