* 개어렵네 재귀 던져버리고 싶다;;
#include <stdio.h>
int func(int N, int r, int c) {
if (N == 0) return 0;
int half = 1 << (N-1);
int size = half * half;
// 왼쪽 위 (2사분면)
if (r<half && c<half) {
return func(N-1, r, c);
} else if (r<half && c>=half) {
// 오른쪽 위 (1사분면)
return size + func(N-1, r, c-half);
} else if (r >= half && c < half) {
// 왼쪽 아래 (3사분면)
return 2 * size + func(N-1, r-half, c);
} else {
// 오른쪽 아래 (4사분면)
return 3 * size + func(N-1, r-half, c-half);
}
}
int main() {
int N,r,c;
scanf("%d %d %d", &N, &r, &c);
printf("%d", func(N, r, c));
return 0;
}