from collections import deque, defaultdict, Counter from bisect import bisect_left, bisect_right from itertools import permutations, combinations from heapq import heappop, heappush import math, sys input = lambda: sys.stdin.readline().rstrip("\r\n") _int = lambda x: int(x)-1 MOD = 998244353 #10**9+7 INF = 1<<60 Yes, No = "Yes", "No" # M = 7 # for n in range(1<>i&1: li[i] = "#" # print(*li, sep="") T = int(input()) for _ in range(T): R, C = map(int, input().split()) B = list(bin(R)[2:]) M = len(B) target = R x = 1<<(M-1) num = 0 for i in range(M-C): num += x x >>= 1 if B[i] == "0": target = num si = i break # print(R, bin(R)[2:]) # print(target, bin(target)[2:]) if R == target: print(R-1) else: # print(M-i-C, target-R) res = 0 B = B[::-1] num = (R&((1<