#include <bits/stdc++.h>
#define pb push_back
#define NMAX 1005
#define ll long long
#define x first
#define y second
#define INF 0x3f3f3f3f
#define MOD 1000000007

using namespace std;

//ifstream fin("fisier.in");
//ofstream fout("fisier.out");

int main() {
	ll i,k,j,n,ans=INF,q;

	cin>>q;
	ll vmin,vmax,total,add,x,y;
	while(q--) {
		cin>>x>>y;

		total=0;
		if(1>=x && 1<=y) total=1;
		for(i=1;i<32;++i) {
			vmin=(1<<i);
			vmax=(1<<(i+1))-1;

			if(vmin>y || vmax<x) continue;
			add=vmax-vmin+1;
			if(vmin<x) add-=x-vmin;
			if(vmax>y) add-=vmax-y;
			total=(total+add*(add+1)/2)%MOD;
		}

		cout<<total<<'\n';
	}

	return 0;
}