#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
#define MOD 1000000007
#define pb push_back
#define vi vector<int>
#define vl vector<ll>
#define F first
#define S second
#define yes cout<<"YES"<<'\n';
#define no cout<<"NO"<<'\n';
#define endl "\n"
#define all(v) v.begin(),v.end()
#define print(v) for(auto it:v) cout<<it<<" "; cout<<endl;
#define srt(v) sort(v.begin(),v.end());
#define rsrt(v) sort(v.rbegin(),v.rend());
#define gcd(a,b) __gcd(a,b)
#define lcm(a,b) (a*b)/gcd(a,b)
#define PI 2*acos(0.0)
#define pr pair<int,int>
#define Tasrik ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int main ()
{
Tasrik;
ll t=1,n,k;
cin>>t;
while(t--)
{
cin>>n>>k;
if(k<=n)
{
cout<<0<<endl;
continue;
}
k-=n;
ll ans=k;
// for(int i=30; i>=0; i--)
// {
// ll pw=(1ll<<i)-1;
// if(pw<=k)
// {
// ll nw=k-pw; // ager 1 bad
// ll x=nw*pw;
// ans=max(ans,x);
// }
// }
ll pw=1;
while(pw-1<=k){
ll x=k-pw+1;
ans=max(ans,(x*(pw-1)));
pw<<=1;
}
cout<<ans<<endl;
}
}