#include <iostream>
#include<math.h>
using namespace std;
int MOD = 1000000007L;
typedef long long ll;
ll power(ll a, ll n){ // I've made a recurrence relation here -> a^n = n%2==0 ? a^(n/2) * a^(n/2) : a^(n/2) * a^(n/2) * a ;
if(n==1)return a;
ll x = power(a,n/2) * power(a, n/2);
if(n%2==1) x*=a;
return x;
}
int main() {
int t=0;
scanf("%d",&t);
while(t--){
long long l = 0, r=0, ans=0, id=0, n =0;
scanf("%lld %lld", &l, &r);
n=l;
while(n!=0){
n/=2;
id++;
}
long long x = power(2,id);
x--;
if(r>x){
x = x-l+1;
}
else x = r-l+1;
ans = (x%MOD * l%MOD)%MOD;
printf("%lld\n", ans);
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxtYXRoLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgTU9EID0gMTAwMDAwMDAwN0w7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwpsbCBwb3dlcihsbCBhLCBsbCBuKXsgLy8gSSd2ZSBtYWRlIGEgcmVjdXJyZW5jZSByZWxhdGlvbiBoZXJlIC0+IGFebiA9IG4lMj09MCA/IGFeKG4vMikgKiBhXihuLzIpIDogYV4obi8yKSAqIGFeKG4vMikgKiBhICA7CglpZihuPT0xKXJldHVybiBhOwoJbGwgeCA9IHBvd2VyKGEsbi8yKSAqIHBvd2VyKGEsIG4vMik7CglpZihuJTI9PTEpIHgqPWE7CglyZXR1cm4geDsKfQppbnQgbWFpbigpIHsKCQoJaW50IHQ9MDsKCXNjYW5mKCIlZCIsJnQpOwoJd2hpbGUodC0tKXsKCQlsb25nIGxvbmcgbCA9IDAsIHI9MCwgYW5zPTAsIGlkPTAsIG4gPTA7CgkJc2NhbmYoIiVsbGQgJWxsZCIsICZsLCAmcik7CgkJbj1sOwoJCXdoaWxlKG4hPTApewoJCQluLz0yOwoJCQlpZCsrOwoJCX0KCQlsb25nIGxvbmcgeCA9IHBvd2VyKDIsaWQpOwoJCXgtLTsKCQlpZihyPngpewoJCQl4ID0geC1sKzE7CgkJfQoJCWVsc2UgeCA9IHItbCsxOwoJCQoJCWFucyA9ICh4JU1PRCAqIGwlTU9EKSVNT0Q7CgkJcHJpbnRmKCIlbGxkXG4iLCBhbnMpOwoJCQoJfQoJcmV0dXJuIDA7Cn0=