
- 메모리 : 29200 KB
- 시간 : 72 ms
def count(n,x):
if n == 0:
if x == 0: return 0
elif x == 1: return 1
elif x == 1: return 0
elif x <= 1+burger[n-1]:
return count(n-1, x-1)
elif x == 2+burger[n-1]:
return patty[n-1]+1
elif x <= 2+2*burger[n-1]:
return 1 + patty[n-1] + count(n-1, x - (2+burger[n-1]))
else:
return patty[n]
n, x = map(int, input().split())
burger = [1 for i in range(n+1)]
patty = [1 for i in range(n+1)]
for i in range(1,n+1):
burger[i] = 3+2*burger[i-1]
patty[i] = 2*patty[i-1]+1
print(count(n,x))