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