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