#include using namespace std; using ll = long long;ll f(ll n){ ll res = 0; ll a = 1; while (n != 1){ res += a * (n / 2); n -= n / 2; a *= 2; } return res; } ll h(ll n, ll m){ if (n == 1) return 0; ll L = m, R = m + n - 1; ll d = 30; while ((L & (1ll << d)) == (R & (1ll << d))) d--; ll mask = ((1ll << (d + 1)) - 1); L &= mask; R &= mask; ll l = (1ll << d) - L; ll r = (R + 1 - (1ll << d)); ll ans = f(r) + f(l); ans += (1ll << d); d--; while (d >= 0){ if (l + r > (2ll << d)){ break; } if (l > (1ll << d)) l -= (1ll << d); else if (r > (1ll << d)) r -= (1ll << d); else ans += (1ll << d); d--; } return ans; } int main(){ std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int T; cin >> T; while (T--){ int N, M; cin >> N >> M; cout << h(N, M) << "\n"; } }