정사각 얼음

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

문제

정사각 얼음(Square Ice)은 물 분자 H2O가 2차원으로 배열된 구조로, 산소 원자(O)가 정사각 격자의 격자점에 놓이고 인접한 두 산소 원자 사이마다 수소 원자(H)가 정확히 하나씩 자리한다. 수소 원자는 격자의 왼쪽과 오른쪽 바깥으로는 튀어나올 수 있지만, 위나 아래로는 튀어나올 수 없다. 아래는 5×5 예시이다.

H-O H-O-H O-H O-H O-H
  |       |   |   |
  H   H   H   H   H
      |
H-O-H O H-O H-O-H O-H
      |   |       |
  H   H   H   H   H
  |           |
H-O H-O-H O-H O H-O-H
          |   |
  H   H   H   H   H
  |   |           |
H-O H-O H-O H-O-H O-H
          |
  H   H   H   H   H
  |   |       |   |
H-O H-O H-O-H O-H O-H

각 수소 원자는 이웃한 산소 원자 중 정확히 하나와 결합하고, 각 산소 원자는 이웃한 수소 원자 중 정확히 둘과 결합한다. (물 분자 하나는 산소 하나에 수소 둘이 붙은 단위임을 떠올리자.)

정사각 얼음 배열은 교대 부호 행렬(alternating sign matrix, ASM)로 부호화할 수 있다. 가로 방향 분자(H-O-H)는 1, 세로 방향 분자는 -1, 그 밖의 분자는 0으로 나타낸다. 위 배열은 다음과 같이 부호화된다.

0  1  0  0  0
1 -1  0  1  0
0  1  0 -1  1
0  0  0  1  0
0  0  1  0  0

ASM은 각 원소가 0, 1, -1이고, 각 행과 각 열의 합이 1이며, 각 행과 각 열에서 0이 아닌 원소들의 부호가 번갈아 나타나는 정사각 행렬이다. (ASM과 정사각 얼음 배열 사이에는 일대일 대응이 존재한다.)

주어진 ASM에 대해, 위 예시와 같은 형식으로 정사각 얼음 배열을 출력하라. 가로 결합은 붙임표(-), 세로 결합은 세로줄(|)로 나타낸다. 배열 전체를 별표(*) 테두리로 둘러싸고 왼쪽으로 정렬하며, 이웃한 수소(H)와 산소(O) 사이에는 공백, 붙임표, 세로줄 중 정확히 한 글자만 둔다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 케이스는 양의 정수 mm (m11m \le 11)이 적힌 줄로 시작하고, 이어서 ASM의 각 행을 담은 mm개의 줄이 온다. 각 줄은 ASM의 한 행을 나타내며 원소들은 공백 하나로 구분된다. 입력의 끝은 m=0m = 0인 줄로 표시된다.

출력

각 케이스마다 (1부터 시작하는) 케이스 번호를 Case k: 형식으로 출력하고, 빈 줄 하나를 출력한 뒤, 위에서 설명한 형식의 정사각 얼음 배열을 출력한다. 서로 다른 케이스의 출력은 빈 줄 하나로 구분한다.