#include #define pb push_back #define f first #define s second #define pii pair #define mp make_pair using namespace std; const string file_name = "C", input_file = file_name + ".in", output_file = file_name + ".out"; ifstream fin(input_file); ofstream fout(output_file); 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 - 1, y) - x + 1; if (sol % 2) { sol = (sol * ((sol + 1) / 2)) % MOD; } else { sol = (sol / 2 * (sol + 1)) % MOD; } for (long long next = current_power * 2; next <= y; current_power *= 2, next *= 2) { long long temp = (current_power / 2 * (current_power + 1)) % MOD; sol = (sol + temp) % MOD; } if (current_power <= y) { long long temp = y - current_power + 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() { cin.sync_with_stdio(false); int q; cin >> q; for (long long a, b; q; q--) { cin >> a >> b; cout << solve(a, b) << '\n'; } return 0; }