#include #define pb push_back #define f first #define s second #define pii pair #define mp make_pair using namespace std; const int MOD = 1e9 + 7; long long solve(long long x, long long y) { long long current_power = 1; while (current_power < x) { current_power *= 2; } long long sol = min(current_power, y + 1) - x; sol = (sol * (sol + 1)) / 2; sol %= MOD; if (current_power >= y) { return sol; } long long last = current_power; for (long long next = current_power * 2; next <= y; last *= 2, next *= 2) { long long temp = (last / 2 * (last + 1)) % MOD; sol = (sol + temp) % MOD; } if (last <= y) { long long temp = y - last + 1; if (temp % 2) { temp = ((temp + 1) / 2) * temp; } else { temp = (temp / 2) * (temp + 1); } temp %= MOD; sol = (sol + temp) % MOD; } return sol; } int main() { int q; cin >> q; for (int a, b; q; q--) { cin >> a >> b; cout << solve(a, b) << '\n'; } return 0; }