전형적인 재귀 문제.
2^N*2^N 차원 배열을 Z모양으로 탐색할 때, r행 c열의 방문 순서 출력
r,c은 0부터 시작
N, r, c = map(int, input().split())
answer=0
while N>0:
N-=1
half = 2**(N) # 현재 배열을 4개로 나누기
if r < half and c < half: # 1사분면
answer+=0
elif r < half and c >= half: # 2사분면
answer += half*half
c-=half
elif r >= half and c < half: # 3사분면
answer += 2*half*half
r-=half
else: # 4사분면
answer += 3*half*half
r-=half
c-=half
print(answer)