/*H E A D*/
int main(){
int T=read();
while(T--){
ll a=read();
ll b=read();
ll c=read();
ll d=read();
ll ans=0;
ll x=0,y=0;
rrep(i,61,0){
bool pos1=(a>>i)&1;
bool pos2=(b>>i)&1;
bool pos3=(c>>i)&1;
bool pos4=(d>>i)&1;
if(pos1==pos2&&pos3==pos4){
if(pos1^pos3){
ans+=(1ll<<i);
}
}else if(pos1^pos2&&pos3==pos4){
ans+=(1ll<<i);
if(pos3) b=(1ll<<i)-1;//note
else a=0;
}else if(pos1==pos2&&pos3^pos4){
ans+=(1ll<<i);
if(pos1) d=(1ll<<i)-1;
else c=0;
}else{
ans+=(1ll<<i+1)-1;
break;
}
}
println(ans);
}
return 0;
}