#include <iostream> #include <vector> using namespace std; const long long MODULO = 1000 * 1000 * 1000 + 7; int main() { int q; cin>>q; for(int tc=0;tc<q;++tc){ long long x,y; cin>>x>>y; long long tx=x,ty=y; long long nrx=0; while(tx) nrx++,tx>>=1; long long nry=0; while(ty) nry++,ty>>=1; if(nrx!=nry){ long long sol=0; for(int i=nrx+1; i<nry; ++i){ long long nr = 1<<(i-1); long long nr1 = nr+1; if(nr%2==0) nr/=2; else nr1/=2; sol = (sol+nr*nr1%MODULO)%MODULO; } int nr,nr1; nr = (1<<nrx) - x; nr1 = nr+1; if(nr%2==0) nr/=2; else nr1/=2; sol = (sol+nr*nr1%MODULO)%MODULO; nr = y - (1<<(nry-1)) + 1; nr1 = nr+1; if(nr%2==0) nr/=2; else nr1/=2; sol = (sol+nr*nr1%MODULO)%MODULO; cout<<sol<<'\n'; } else { long long nr=y-x+1; long long nr1=nr+1; if(nr%2==0) nr/=2; else nr1/=2; cout<<(nr*nr1%MODULO)<<'\n'; } } }