#include<bits/stdc++.h>
#define int long long
using namespace std ;
int mask(int k , int b , int e)
{
if(b>e) return 0 ;
int a=e-b+1 ;
int d=(1ll<<(1ll*a)) ; d-- ;
return k&d ;
}
int check(int k , int th)
{
int p=(k&(1ll<<(th*1ll))) ;
if(p) p=1 ;
return p ;
}
void change(int &k , int th)
{
int p=(1ll<<(th*1ll)) ;
k^=p ;
}
int32_t main()
{
ios_base::sync_with_stdio(0) ; cin.tie(0) ; cout.tie(0) ;
// for(int i = 10000000000 ; i <= 20000000000 ; i++) mxx=max(mxx,((10&i)*(12&i))) ;
//cout<<mxx<<endl ;
int t ; cin>>t ;
while(t--)
{
int x,y,l,r,mex=0 ;
cin>>x>>y>>l>>r ;
// for(int i = l ; i <= r ; i++) cout<<x<<" "<<y<<" "<<i<<" "<<(x&i)*(y&i)<<endl ;
if(x==0 || y==0) {cout<<"0"<<endl ; continue ; }
vector<int>v ;
for(int i = 42 ; i >= 0 ; i--)
{
int a=check(l,i) , b=check(r,i) ;
if(a) a=1 ; if(b) b=1 ;
if((!a||a) && b)
{
int p=mex , q=(1ll<<((i-0ll)*1ll)) ;
p|=(q-1ll) ; //cout<<p<<" "<<i<<" "<<mex<<endl ;
if(p>=l && p<=r) v.push_back(p) ;
mex|=q ;
// cout<<p<<" "<<mex<<endl ;
}
}
v.push_back(mex) ; v.push_back(l) ; v.push_back(r) ;
// for(int i = 0 ; i < v.size() ; i++) cout<<v[i]<<" " ; cout<<endl ;
sort(v.begin(),v.end()) ;
int mx=0,ans=r ;
for(int i = 0 ; i < v.size() ; i++)
{
int w=v[i] ;
int m=(x&w)*(y&w) ;
if(m>mx) {mx=m ; ans=w ;}
else if(m==mx) ans=min(ans,w) ;
}
// cout<<ans<<endl ;
for(int i = 42 ; i >= 0 ; i--)
{
int a=check(x,i) , b=check(y,i) , c=check(ans,i) ;
// cout<<a<<" "<<b<<" "<<c<<endl ;
int tst=ans ;
if(c && !a && !b) {change(tst,i) ;// cout<<tst<<endl ;
if(tst>=l && tst<=r) change(ans,i) ;}
}
cout<<ans<<endl ;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBpbnQgbG9uZyBsb25nCnVzaW5nIG5hbWVzcGFjZSBzdGQgOwppbnQgbWFzayhpbnQgayAsIGludCBiICwgaW50IGUpCnsKICAgIGlmKGI+ZSkgcmV0dXJuIDAgOwogICAgaW50IGE9ZS1iKzEgOwogICAgaW50IGQ9KDFsbDw8KDFsbCphKSkgOyBkLS0gOwogICAgcmV0dXJuIGsmZCA7Cn0KaW50IGNoZWNrKGludCBrICwgaW50IHRoKQp7CiAgICBpbnQgcD0oayYoMWxsPDwodGgqMWxsKSkpIDsKICAgIGlmKHApIHA9MSA7CiAgICByZXR1cm4gcCA7Cn0Kdm9pZCBjaGFuZ2UoaW50ICZrICwgaW50IHRoKQp7CiAgICBpbnQgcD0oMWxsPDwodGgqMWxsKSkgOwogICAga149cCA7Cn0KaW50MzJfdCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKSA7IGNpbi50aWUoMCkgOyBjb3V0LnRpZSgwKSA7CiAgIC8vIGZvcihpbnQgaSA9IDEwMDAwMDAwMDAwIDsgaSA8PSAyMDAwMDAwMDAwMCA7IGkrKykgbXh4PW1heChteHgsKCgxMCZpKSooMTImaSkpKSA7CiAgICAvL2NvdXQ8PG14eDw8ZW5kbCA7CiAgICBpbnQgdCA7IGNpbj4+dCA7CiAgICB3aGlsZSh0LS0pCiAgICB7CiAgICAgICAgaW50IHgseSxsLHIsbWV4PTAgOwogICAgICAgIGNpbj4+eD4+eT4+bD4+ciA7CiAgICAgICAvLyBmb3IoaW50IGkgPSBsIDsgaSA8PSByIDsgaSsrKSBjb3V0PDx4PDwiICI8PHk8PCIgIjw8aTw8IiAiPDwoeCZpKSooeSZpKTw8ZW5kbCA7CiAgICAgICAgaWYoeD09MCB8fCB5PT0wKSB7Y291dDw8IjAiPDxlbmRsIDsgY29udGludWUgOyB9CiAgICAgICAgdmVjdG9yPGludD52IDsKICAgICAgICBmb3IoaW50IGkgPSA0MiA7IGkgPj0gMCA7IGktLSkKICAgICAgICB7CiAgICAgICAgICAgIGludCBhPWNoZWNrKGwsaSkgLCBiPWNoZWNrKHIsaSkgOwogICAgICAgICAgICBpZihhKSBhPTEgOyBpZihiKSBiPTEgOwogICAgICAgICAgICBpZigoIWF8fGEpICYmIGIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGludCBwPW1leCAsIHE9KDFsbDw8KChpLTBsbCkqMWxsKSkgOwogICAgICAgICAgICAgICAgcHw9KHEtMWxsKSA7IC8vY291dDw8cDw8IiAiPDxpPDwiICI8PG1leDw8ZW5kbCA7CiAgICAgICAgICAgICAgICBpZihwPj1sICYmIHA8PXIpIHYucHVzaF9iYWNrKHApIDsKICAgICAgICAgICAgICAgIG1leHw9cSA7CiAgICAgICAgICAgICAgLy8gIGNvdXQ8PHA8PCIgIjw8bWV4PDxlbmRsIDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICB2LnB1c2hfYmFjayhtZXgpIDsgdi5wdXNoX2JhY2sobCkgOyB2LnB1c2hfYmFjayhyKSA7CiAgICAgICAvLyBmb3IoaW50IGkgPSAwIDsgaSA8IHYuc2l6ZSgpIDsgaSsrKSBjb3V0PDx2W2ldPDwiICIgOyBjb3V0PDxlbmRsIDsKICAgICAgICBzb3J0KHYuYmVnaW4oKSx2LmVuZCgpKSA7CiAgICAgICAgaW50IG14PTAsYW5zPXIgOwogICAgICAgIGZvcihpbnQgaSA9IDAgOyBpIDwgdi5zaXplKCkgOyBpKyspCiAgICAgICAgewogICAgICAgICAgICBpbnQgdz12W2ldIDsKICAgICAgICAgICAgaW50IG09KHgmdykqKHkmdykgOwogICAgICAgICAgICBpZihtPm14KSB7bXg9bSA7IGFucz13IDt9CiAgICAgICAgICAgIGVsc2UgaWYobT09bXgpIGFucz1taW4oYW5zLHcpIDsKICAgICAgICB9CiAgICAgLy8gICBjb3V0PDxhbnM8PGVuZGwgOwogICAgICAgIGZvcihpbnQgaSA9IDQyIDsgaSA+PSAwIDsgaS0tKQogICAgICAgIHsKICAgICAgICAgICAgaW50IGE9Y2hlY2soeCxpKSAsIGI9Y2hlY2soeSxpKSAsIGM9Y2hlY2soYW5zLGkpIDsKICAgICAgICAgLy8gICBjb3V0PDxhPDwiICI8PGI8PCIgIjw8Yzw8ZW5kbCA7CiAgICAgICAgICAgIGludCB0c3Q9YW5zIDsKICAgICAgICAgICAgaWYoYyAmJiAhYSAmJiAhYikge2NoYW5nZSh0c3QsaSkgOy8vIGNvdXQ8PHRzdDw8ZW5kbCA7CiAgICAgICAgICAgIGlmKHRzdD49bCAmJiB0c3Q8PXIpIGNoYW5nZShhbnMsaSkgO30KICAgICAgICB9CiAgICAgICAgY291dDw8YW5zPDxlbmRsIDsKICAgIH0KfQoK