func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long maxN = 2e5 + 13, mod = 1e9 + 7;   long long r, g, odp[maxN], ans;   bool can(long long x) {     if (x * (x + 1) / 2 <= r + g) return 1;     return 0;   }   int32_t main() {     cin >> r >> g;     long long lf = 0, rg = max(r, g) + 1;     while (rg - lf > 1) {       long long mid = lf + rg >> 1;       if (can(mid))         lf = mid;       else         rg = mid;     }     long long h = lf;     odp[0] = 1;     for (long long j = 0; j <= h; j++) {       for (long long i = r; i >= 0; i--) {         if (!(i == 0 && j == 0))           odp[i] = (odp[i] + ((i >= j) ? odp[i - j] : 0)) % mod;       }     }     for (long long i = r; i + g >= h * (h + 1) / 2 && i >= 0; i--) {       ans = (ans + odp[i]) % mod;     }     cout << ans << endl;   }   