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