def solve(): R, C = map(int, input().split()) if all((R >> i) & 1 for i in range(C - 1, R.bit_length())): print(R - 1) return row = 0 for i in range(R.bit_length() - 1, -1, -1): row |= 1 << i if (R >> i) & 1 == 0: col = i break print(max(row - R, col - C) + row - 1) if __name__ == "__main__": T = int(input()) for _ in range(T): solve()