#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int Mod=1e9+7;
const ll INF = 10000000000000;
const int N = 1e6+7;
void solve() {
int n,x;
cin >> n >> x;
if(x==0){
if(n==1) cout << -1 << '\n';
else if(n%2==0) cout << n << '\n';
else cout << n+3 << '\n';
}
else if(x==1){
if(n%2==1) cout << n << '\n';
else cout << n+3 << '\n';
}
else{
int k = x;
int cnt = 0;
while(k>0){
if(k&1) cnt++;
k/=2;
}
if(n<=cnt) cout << x << '\n';
else{
int p = n-cnt;
if(p%2==0) cout << x+p << '\n';
else cout << x+p+1 << '\n';
}
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin >> t;
while (t--) solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwpjb25zdCBpbnQgTW9kPTFlOSs3Owpjb25zdCBsbCBJTkYgPSAxMDAwMDAwMDAwMDAwMDsKY29uc3QgaW50IE4gPSAxZTYrNzsKCiAgICB2b2lkIHNvbHZlKCkgewogICAgICAgaW50IG4seDsKICAgICAgIGNpbiA+PiBuID4+IHg7CiAgICAgICBpZih4PT0wKXsKICAgICAgICAgIGlmKG49PTEpIGNvdXQgPDwgLTEgPDwgJ1xuJzsKICAgICAgICAgIGVsc2UgaWYobiUyPT0wKSBjb3V0IDw8IG4gPDwgJ1xuJzsKICAgICAgICAgIGVsc2UgY291dCA8PCBuKzMgPDwgJ1xuJzsgIAogICAgICAgfQogICAgICAgZWxzZSBpZih4PT0xKXsKICAgICAgICAgICBpZihuJTI9PTEpIGNvdXQgPDwgbiA8PCAnXG4nOyAKICAgICAgICAgICBlbHNlIGNvdXQgPDwgbiszIDw8ICdcbic7IAogICAgICAgfQogICAgICAgZWxzZXsKICAgICAgICBpbnQgayA9IHg7CiAgICAgICAgaW50IGNudCA9IDA7CiAgICAgICAgd2hpbGUoaz4wKXsKICAgICAgICAgIGlmKGsmMSkgY250Kys7IAogICAgICAgICAgIGsvPTI7IAogICAgICAgIH0KICAgICAgICBpZihuPD1jbnQpIGNvdXQgPDwgeCA8PCAnXG4nOwogICAgICAgIGVsc2V7CiAgICAgICAgICAgaW50IHAgPSBuLWNudDsKICAgICAgICAgICBpZihwJTI9PTApIGNvdXQgPDwgeCtwIDw8ICdcbic7CiAgICAgICAgICAgZWxzZSBjb3V0IDw8IHgrcCsxIDw8ICdcbic7IAogICAgICAgIH0KICAgICAgIH0KICAgIH0KaW50IG1haW4oKXsgCiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwoJCiAgICBpbnQgdDsKICAgIGNpbiA+PiB0OwogICAgd2hpbGUgKHQtLSkgc29sdmUoKTsKICAgIAogICAgcmV0dXJuIDA7Cn0=