UN 청사 짓기

면접 대비

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

요약
n by n 두 층짜리 건물에서 아래층은 행별로, 위층은 열별로 국가를 배정하는 고정된 배치를 그대로 출력하는 문제입니다.
난이도

쉬움10점 중 3점

유형
구현, 시뮬레이션, 행렬
정답자
아직 제출이 없습니다

문제

국제연합(UN)이 직육면체 모양의 새 청사를 짓기로 했다. 청사는 크기가 똑같은 직사각형 층 여러 개를 위로 차곡차곡 쌓아 만든다. 각 층은 같은 크기의 직사각형 격자이며, 격자의 각 칸은 사무실 하나이다.

두 사무실이 인접하다는 것은, 같은 층에 있으면서 벽을 맞대고 있거나, 한 사무실이 다른 사무실 바로 위에 놓여 있는(아래 사무실의 천장이 위 사무실의 바닥인) 경우를 말한다.

이 청사에는 nn개국의 대표부가 들어온다. 각 나라는 사무실 여러 개를 배정받으며, 한 나라의 사무실들은 반드시 연결된 영역을 이루어야 한다. 즉 한 나라의 어떤 사무실에서 출발하든 그 나라의 인접한 사무실들만 거쳐 같은 나라의 다른 모든 사무실에 도달할 수 있어야 한다.

또한 어느 두 나라든 공유하는 벽이나 천장 뒤에서 은밀히 협상할 수 있어야 하므로, 모든 두 나라 쌍은 인접한 사무실 쌍을 적어도 하나씩 가져야 한다.

이런 청사는 항상 존재한다. 답을 유일하게 만들기 위해, 아래 출력에서 설명하는 특정한 유효 청사를 출력해야 한다.

입력

정수 nn (1≤n≤501 \le n \le 50)이 한 줄에 주어진다. 나라의 수이다.

출력

아래 규칙대로 청사를 만든 뒤 그대로 출력한다.

  • 청사의 높이는 22(두 개 층)이고, 각 층은 n×nn \times n 격자이다(nn개의 줄, 각 줄에 nn개의 문자).
  • 나라들에 A,B,…,Z,a,b,…,zA, B, \dots, Z, a, b, \dots, z 순서(대문자를 먼저, 그다음 소문자)의 앞에서부터 nn개의 문자를 이름표로 붙인다. 이 이름표들을 c1,c2,…,cnc_1, c_2, \dots, c_n이라 하자.
  • 아래층: ii번째 줄의 모든 사무실은 나라 ii의 것이므로, ii번째 줄은 문자 cic_i를 nn번 반복한 것이다.
  • 위층: jj번째 열의 모든 사무실은 나라 jj의 것이므로, 모든 줄이 c1c2…cnc_1 c_2 \dots c_n과 같다.

먼저 세 정수 hh, ww, ll을 출력한다. 각각 청사의 높이, 너비, 길이이며 여기서는 h=2h = 2, w=l=nw = l = n이다. 그다음 아래층을 nn개의 줄(각 줄 nn개 문자)로 출력하고, 빈 줄 하나를 출력한 뒤, 위층을 nn개의 줄(각 줄 nn개 문자)로 출력한다.

예제3

  1. 예제 1

    입력
    1
    
    예상 출력
    2 1 1
    A
    
    A
    
  2. 예제 2

    입력
    2
    
    예상 출력
    2 2 2
    AA
    BB
    
    AB
    AB
    
  3. 예제 3

    입력
    4
    
    예상 출력
    2 4 4
    AAAA
    BBBB
    CCCC
    DDDD
    
    ABCD
    ABCD
    ABCD
    ABCD