#include<bits/stdc++.h>
using namespace std;
unsigned long long int dp[65][65]={0};
int p[]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61};
unsigned long long int solve(unsigned long long int a){
bool bin[64]={0};
int i;
int itr=0;
unsigned long long int tempo=a;
while(tempo){
if(tempo&1){
bin[itr]=1;
}
itr++;
tempo>>=1;
}
int cnt1=0;
unsigned long long int ans=0;
int l=itr,itr2;
itr--;
while(itr>=0){
if(bin[itr]){
for(itr2=0;itr2<18;itr2++){
int k=p[itr2]-cnt1;
if(k>=0){
ans+=dp[itr][k];
}
if(k>=itr)break;
}
cnt1++;
}
itr--;
}
return ans;
}
int main(){
int t,i,j;
cin>>t;
dp[0][0]=1;
for(i=1;i<65;i++){
dp[i][0]=1;
dp[i][i]=1;
for(j=1;j<i;j++)dp[i][j]=dp[i-1][j-1]+dp[i-1][j];
}
unsigned long long int a,b,temp,ansa,ansb,anst;
while(t--){
cin>>a>>b;
ansa=solve(a);
ansb=solve(b);
anst=ansb-ansa;
bitset<64>foo(b);
int cnt=foo.count();
/*int cnt=0;
while(b){
if(b&1)cnt++;
b>>=1;
}*/
int itr2;
for(itr2=0;itr2<18;itr2++){
if(p[itr2]==cnt){
anst++;
break;
}
}
cout<<anst<<"\n";
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdW5zaWduZWQgbG9uZyBsb25nIGludCBkcFs2NV1bNjVdPXswfTsKaW50IHBbXT17MiwzLDUsNywxMSwxMywxNywxOSwyMywyOSwzMSwzNyw0MSw0Myw0Nyw1Myw1OSw2MX07CnVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgc29sdmUodW5zaWduZWQgbG9uZyBsb25nIGludCBhKXsKICAgIGJvb2wgYmluWzY0XT17MH07CiAgICBpbnQgaTsKICAgIGludCBpdHI9MDsKICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgdGVtcG89YTsKICAgIHdoaWxlKHRlbXBvKXsKICAgICAgICBpZih0ZW1wbyYxKXsKICAgICAgICAgICAgYmluW2l0cl09MTsKICAgICAgICB9CiAgICAgICAgaXRyKys7CiAgICAgICAgdGVtcG8+Pj0xOwogICAgfQogICAgaW50IGNudDE9MDsKICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgYW5zPTA7CiAgICBpbnQgbD1pdHIsaXRyMjsKICAgIGl0ci0tOwogICAgd2hpbGUoaXRyPj0wKXsKICAgICAgICBpZihiaW5baXRyXSl7CiAgICAgICAgICAgIGZvcihpdHIyPTA7aXRyMjwxODtpdHIyKyspewogICAgICAgICAgICAgICAgaW50IGs9cFtpdHIyXS1jbnQxOwogICAgICAgICAgICAgICAgaWYoaz49MCl7CiAgICAgICAgICAgICAgICAgICAgYW5zKz1kcFtpdHJdW2tdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYoaz49aXRyKWJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNudDErKzsKICAgICAgICB9CiAgICAgICAgaXRyLS07CiAgICB9CiAgICByZXR1cm4gYW5zOwp9CmludCBtYWluKCl7CiAgICBpbnQgdCxpLGo7CiAgICBjaW4+PnQ7CiAgICBkcFswXVswXT0xOwogICAgZm9yKGk9MTtpPDY1O2krKyl7CiAgICAgICAgZHBbaV1bMF09MTsKICAgICAgICBkcFtpXVtpXT0xOwogICAgICAgIGZvcihqPTE7ajxpO2orKylkcFtpXVtqXT1kcFtpLTFdW2otMV0rZHBbaS0xXVtqXTsKICAgIH0KICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgYSxiLHRlbXAsYW5zYSxhbnNiLGFuc3Q7CiAgICB3aGlsZSh0LS0pewogICAgICAgIGNpbj4+YT4+YjsKICAgICAgICBhbnNhPXNvbHZlKGEpOwogICAgICAgIGFuc2I9c29sdmUoYik7CiAgICAgICAgYW5zdD1hbnNiLWFuc2E7CiAgICAgICAgYml0c2V0PDY0PmZvbyhiKTsKICAgICAgICBpbnQgY250PWZvby5jb3VudCgpOwogICAgICAgIC8qaW50IGNudD0wOwogICAgICAgIHdoaWxlKGIpewogICAgICAgICAgICBpZihiJjEpY250Kys7CiAgICAgICAgICAgIGI+Pj0xOwogICAgICAgIH0qLwogICAgICAgIGludCBpdHIyOwogICAgICAgIGZvcihpdHIyPTA7aXRyMjwxODtpdHIyKyspewogICAgICAgICAgICBpZihwW2l0cjJdPT1jbnQpewogICAgICAgICAgICAgICAgYW5zdCsrOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY291dDw8YW5zdDw8IlxuIjsKICAgIH0KICAgIHJldHVybiAwOwp9Cg==