#include <bits/stdc++.h>
using namespace std;

#define PER(i,a) for (int i = a-1; i >= 0; i--)
#define REP(i,a) for (int i = 0; i < a; i++)
#define FOR(i,a,b) for (int i = a; i <= b; i++)
#define ROF(i,a,b) for (int i = a; i >= b; i--)
#define FOREACH(it,x) for (__typeof((x).begin()) it = (x).begin(); it != (x).end(); it++)
#define all(x) (x).begin(),(x).end()
#define ll long long
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define pii pair<int,int>
#define SZ(x) ((int)(x).size())

const int Mod = 1e9+7;

int solve(int x,int y)
{
    int ret = y - x + 1; ret %= Mod;
    int initX = x;
    int pp = 1;
    while (pp <= y) {
        if (pp > x) {
            int add = 1LL * (pp - x) * (pp - x - 1) / 2 % Mod;
            ret += add; if (ret >= Mod) ret -= Mod;
            x = pp;
        }
        pp *= 2;
    }
    if (x&y) {
        int add = 1LL * (y - x + 1) * (y - x) / 2 % Mod;
        ret += add;
        if (ret >= Mod) ret -= Mod;
    }
    return ret;
}

int main()
{
    int Q;
    cin >> Q;
    while (Q--)
    {
        int x,y;
        cin >> x >> y;
        cout << solve(x,y) << "\n";
    }
}