#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 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;
}