#include #include #include #include using namespace std; void solve() { long long r, c; cin >> r >> c; --c; vector b(60); for (int i = 0; i < 60; ++i) b[i] = (r >> i) & 1; long long ans = 0, tb = 0, tmp = 0; for (int i = 59; i >= 0; --i) { if (b[i]) { tb = i; int j = tb; while (j >= c) { tmp += (1LL << j); if (tmp > r) break; --j; } if (r >= tmp) ans = r - 1; else { while (r < tmp) { if ((r + 1) & (1LL << (c + 1))) { ++r; ++c; } else if (r & (1LL << (c + 1))) { ++c; } else break; ++ans; } ans += max(tmp - r, j - c) + tmp - 1; } break; } } cout << ans << endl; } int main() { int t; cin >> t; while (t--) solve(); }