화가의 작업실

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

화가의 작업실에서 그림을 대량으로 생산하려고 한다. 그림은 여러 크기의 정사각 행렬을 이용해 만든다. 크기가 ii인 행렬은 2i2^i개의 행과 2i2^i개의 열로 이루어지며, 일부 행과 열이 만나는 교차점에 구멍이 뚫려 있다. 크기가 00인 행렬은 칸이 하나뿐이며 구멍도 정확히 하나 있다.

i>0i > 0일 때, 크기가 ii인 행렬은 크기가 2i1×2i12^{i-1} \times 2^{i-1}인 정사각형 네 개로 이루어진다. 왼쪽 위 정사각형에는 구멍이 없고, 오른쪽 위, 왼쪽 아래, 오른쪽 아래 정사각형은 각각 크기가 i1i-1인 행렬이다.

그림은 다음과 같이 만든다. 먼저 음이 아닌 정수 세 개 nn, xx, yy를 정한다. 크기가 nn인 행렬 두 개를 준비해 하나를 다른 하나 위에 겹쳐 놓고, 위쪽 행렬을 오른쪽으로 xx열, 위로 yy행 만큼 옮긴다. 이 무늬를 흰 캔버스 위에 올려놓고, 두 행렬의 구멍이 서로 겹치는 자리마다 노란색으로 칠한다. 구멍이 겹치는 자리마다 노란 얼룩이 하나씩 생긴다.

예를 들어 크기가 22인 행렬 두 개에서 위쪽 행렬을 오른쪽으로 22열, 위로 22행 옮긴 경우를 생각해 보자.

이때 구멍이 겹치는 자리는 정확히 세 곳이다.

두 행렬의 크기와 이동량을 읽어 노란 얼룩의 개수를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 행렬의 크기를 나타내는 정수 nn (0n1000 \le n \le 100)이 주어진다. 둘째 줄에는 정수 xx가, 셋째 줄에는 정수 yy가 주어진다 (0x,y2n0 \le x, y \le 2^n). 위쪽 행렬은 오른쪽으로 xx열, 위로 yy행 만큼 이동한다.

출력

캔버스에 생긴 노란 얼룩의 개수를 한 줄에 출력한다.