#include <bits/stdc++.h>

#define pb push_back
#define f first
#define s second
#define pii pair<int, int>
#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;
}