#むずすぎる def solve(): R, C = map(int, input().split()) C -= 1 b = R.bit_length() u = -1 for x in range(b-1, -1, -1): if (R>>x&1) == 0: u = x break if u < C: print(R-1) return l = 1 << u t = R // l + 1 t *= l # print("t, u", t, u) q = 0 for x in range(C, b): if (R>>x&1) == 0: q = x break q -= 1 p = (R // (1<