프랙탈 케이크

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

문제

표도르는 오늘 생일을 맞이했다. 손님들이 오기 전에 그는 특별한 방법으로 케이크를 초콜릿 크림으로 장식한다.

처음에 케이크는 하나의 정사각형이며, 4개의 같은 크기의 흰색 정사각형 칸으로 나뉘어 있다. 즉 2×22 \times 2 격자이다.

표도르는 다음 과정을 한 번의 프랙탈화라고 부른다.

  1. 현재의 모든 칸을 겹치지 않는 2×22 \times 2 묶음으로 나눈다. 어떤 칸도 묶이지 않은 채 남지 않는다.
  2. 각 칸을 다시 4개의 같은 칸으로 나눈다. 그러면 각 2×22 \times 2 묶음은 4×44 \times 4 묶음이 된다. 새로 생긴 칸은 원래 칸의 색을 그대로 물려받는다.
  3. 4×44 \times 4 묶음의 가운데 4칸(중앙의 2×22 \times 2)을 초콜릿으로 채운다.

표도르는 한 번의 프랙탈화로 멈추지 않고, 현미경이 필요할 때까지 이 과정을 N번 반복한다. 아래 그림은 처음 케이크, 첫 번째 프랙탈화 결과, 그리고 다섯 번째 프랙탈화 이후의 케이크를 보여 준다.

N번의 프랙탈화가 끝나면 케이크는 2N+1×2N+12^{N+1} \times 2^{N+1} 크기의 격자가 된다. 표도르는 케이크의 어떤 직사각형 부분의 무늬를 빠르게 보여 주는 프로그램을 원한다.

입력

한 줄에 다섯 개의 음이 아닌 정수 N, R1, R2, C1, C2가 주어진다.

  • N — 프랙탈화 반복 횟수 (N<20N < 20)
  • R1, R2 — 살펴볼 부분의 첫 행과 마지막 행
  • C1, C2 — 살펴볼 부분의 첫 열과 마지막 열

행과 열은 0부터 번호를 매긴다. 다음 조건이 성립한다: R1R2R1 \le R2, C1C2C1 \le C2; 0R2R1<1000 \le R2 - R1 < 100, 0C2C1<1000 \le C2 - C1 < 100; 0R1,R2,C1,C2<2N+10 \le R1, R2, C1, C2 < 2^{N+1}.

출력

R2R1+1R2 - R1 + 1개의 줄을 출력하며, 각 줄은 C2C1+1C2 - C1 + 1개의 문자를 담는다. 각 문자는 하나의 칸에 대응하며, 그 칸이 초콜릿으로 채워져 있으면 1, 아니면 0이다.