import math def main(): import sys N, M = map(int, sys.stdin.readline().split()) if N == 1: print(1) return if M == 1: print(N) return t0 = 0 if M > 1: t0 = (M - 1).bit_length() - 1 # floor(log2(M-1)) k = max(0, (N - 1) - (t0 + 1)) sum_total = 1 + k * 1 remaining_steps = (N - 1) - k x = 1 for step in range(remaining_steps): t = remaining_steps - step - 1 if t < 0: t = 0 max_y = 2 * x if (max_y - 1) * (1 << t) + 1 <= M: x = max_y else: x = 2 * x - 1 sum_total += x print(sum_total) if __name__ == "__main__": main()