#include #include #include #include using namespace std; using ll=long long; #include using mint=atcoder::modint998244353; ostream& operator<<(ostream& os,mint& x){ os<>(istream& is,mint& x){ int t; is>>t; x=t; return is; } template ostream& operator<<(ostream& os,const pair& p); template istream& operator>>(istream& is,pair& p); template ostream& operator<<(ostream& os,const array& arr); template istream& operator>>(istream& is,array& arr); template ostream& operator<<(ostream& os,const vector& vec); template istream& operator>>(istream& is,vector& vec); template ostream& operator<<(ostream& os,pair& p){ os< istream& operator>>(istream& is,pair& p){ is>>p.first>>p.second; return is; } template ostream& operator<<(ostream& os,array& arr){ for(int i=0;i istream& operator>>(istream& is,array& arr){ for(int i=0;i>arr[i]; return is; } template ostream& operator<<(ostream& os,vector& vec){ for(int i=0;i istream& operator>>(istream& is,vector& vec){ for(int i=0;i>vec[i]; return is; } #include int main(){ cin.tie(nullptr); ios::sync_with_stdio(false); int ttt; cin>>ttt; while(ttt--){ ll l,r; cin>>l>>r; ll ans=-1; if(l==0)ans=0; for(int i=0;i<30;i++){ ll b=(1<r)continue; ll a=b-1; if(a>=l)ans=max(ans,a*b); } cout<