#include <bits/stdc++.h>
using namespace std;
bool ispow(long long int n){
if(n==0)
return false;
else
return(floor(log2(n))==ceil(log2(n)));
}
int main() {
// your code goes here
int t;
cin>>t;
while(t--){
long long int l,r,i,m=0,kh;
cin>>l>>r;
kh=r;
if(l==r)
cout<<l<<endl;
else if(ispow(r))
cout<<(2*r-1)<<endl;
else
{
while(r>0)
{
r=r/2;
m++;
}
m--; // m is for max power of 2 that we can represent the number.for e.g 9=2^3+1 i.e max power of 2 is 3.
if(l>(pow(2,m)-1))
cout<<kh<<endl;
else
cout<<(pow(2,(m+1))-1)<<endl;
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmJvb2wgaXNwb3cobG9uZyBsb25nIGludCBuKXsKCWlmKG49PTApCglyZXR1cm4gZmFsc2U7CgllbHNlCglyZXR1cm4oZmxvb3IobG9nMihuKSk9PWNlaWwobG9nMihuKSkpOwp9CmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJaW50IHQ7CgljaW4+PnQ7Cgl3aGlsZSh0LS0pewoJCWxvbmcgbG9uZyBpbnQgbCxyLGksbT0wLGtoOwoJCWNpbj4+bD4+cjsKCQlraD1yOwoJCWlmKGw9PXIpCgkJY291dDw8bDw8ZW5kbDsKCQllbHNlIGlmKGlzcG93KHIpKQoJCWNvdXQ8PCgyKnItMSk8PGVuZGw7CgkJZWxzZQoJCXsKCQkJd2hpbGUocj4wKQoJCQl7CgkJCQlyPXIvMjsKCQkJCW0rKzsKCQkJfQoJCQltLS07IC8vIG0gaXMgZm9yIG1heCBwb3dlciBvZiAyIHRoYXQgd2UgY2FuIHJlcHJlc2VudCB0aGUgbnVtYmVyLmZvciBlLmcgOT0yXjMrMSBpLmUgbWF4IHBvd2VyIG9mIDIgaXMgMy4KCQkJaWYobD4ocG93KDIsbSktMSkpCgkJCWNvdXQ8PGtoPDxlbmRsOwoJCQllbHNlCgkJCWNvdXQ8PChwb3coMiwobSsxKSktMSk8PGVuZGw7CgkJfQoJfQoJcmV0dXJuIDA7Cn0=