알파벳 다이아몬드

시간 제한2초메모리 제한128 MB

문제

알파벳 다이아몬드 타일의 한 변 길이는 2N - 1입니다. 타일의 중심 좌표를 (N - 1, N - 1)이라고 할 때, 타일 안의 좌표 (r, c)에 대해 d = |r - (N - 1)| + |c - (N - 1)|를 계산합니다.

  • d >= N이면 그 칸에는 .이 적힙니다.
  • d < N이면 중심에서의 거리 d에 해당하는 알파벳 소문자가 적힙니다. d = 0a, d = 1b이며, z 다음에는 다시 a로 돌아갑니다.

N = 5인 타일 하나는 다음과 같습니다.

....e....
...ede...
..edcde..
.edcbcde.
edcbabcde
.edcbcde.
..edcde..
...ede...
....e....

방 바닥은 이 타일을 위아래와 좌우로 빈틈없이 반복해서 채운 무한한 평면입니다. 행은 위에서부터 0행, 열은 왼쪽부터 0열로 번호를 매깁니다.

정수 N과 직사각형의 왼쪽 위 좌표 (R1, C1), 오른쪽 아래 좌표 (R2, C2)가 주어집니다. 해당 직사각형에 적힌 문자를 그대로 출력하세요. 좌표 (x, y)xy열을 뜻합니다.

입력

첫째 줄에 정수 N, R1, C1, R2, C2가 공백으로 구분되어 주어집니다.

출력

R2 - R1 + 1개의 줄에 걸쳐 출력합니다. 각 줄에는 C2 - C1 + 1개의 문자를 공백 없이 출력합니다.

제한

  • 1 <= N <= 20,000
  • 0 <= R1 <= R2 <= 20,000
  • 0 <= C1 <= C2 <= 20,000
  • 0 <= (R2 - R1 + 1) * (C2 - C1 + 1) <= 40,000