당신은 임페리얼 스타 디스트로이어의 수석 무기 담당관으로서, 레이저 포탑 패널을 정기적으로 정비하는 임무를 맡고 있다. 각 패널은 $n \times n$ 개의 포탑 소켓으로 이루어진 정사각형이며, 그중 정확히 $n$ 개의 소켓에 포탑이 장착되어 있다. 회로가 한쪽으로 치우쳐 마모되지 않도록, 포탑은 주기적으로 소켓 사이를 옮겨 배치한다.
가장 중요한 제약은 포탑들이 서로 충돌해서는 안 된다는 것이다. 즉 두 포탑이 서로를 쏠 수 있는 위치에 있어서는 안 된다. 두 포탑은 같은 행, 같은 열, 또는 같은 대각선 위에 있을 때 충돌한다. 따라서 올바른 배치에서는 어떤 두 포탑도 같은 가로줄, 세로줄, 대각선 위에 놓이지 않는다.
배치 오류를 줄이기 위해, 모든 소켓 교체는 반드시 기존 배치의 회전 또는 반사로만 수행해야 한다. 충돌이 없다는 성질은 이러한 변환에 대해 불변이기 때문이다.
올바른(충돌이 없는) $n \times n$ 배치가 주어지면, 시계 방향 회전 세 가지(90°, 180°, 270°)와 다음 네 가지 반사 평면이 있다.
이로써 승인된 배치는 모두 여덟 가지가 된다. 배치가 90° 또는 180° 회전에 대해 대칭인 경우, 이 중 일부는 서로 같을 수 있다.
올바른 배치에는 각 행에 포탑이 정확히 하나씩 있으므로, 각 행의 포탑이 놓인 열 번호를 나열한 1차원 벡터로 나타낼 수 있다. 맨 위 행의 번호는 $0$ 이고(화면 좌표처럼 아래로 갈수록 증가), 열은 왼쪽부터 $0$ 으로 번호를 매긴다.
하나의 올바른 배치가 주어지면, 위의 회전과 반사로 얻어지는 나머지 일곱 가지 배치를 같은 1차원 형태로 출력하라. 출력 순서는 정확히 다음과 같다. 먼저 입력으로 받은 배치, 그다음 시계 방향 90°, 180°, 270° 회전, 마지막으로 수직 반사, 반대각선 반사, 수평 반사, 주대각선 반사 순서의 반사들이다.
입력에는 개수가 정해지지 않은 여러 개의 패널이 주어진다. 각 패널은 한 줄로 기술되며, 첫 번째 정수는 패널의 크기 $n$ 이고, 이어서 각 행(맨 위 행부터 아래로)의 포탑이 놓인 열 번호를 나타내는 정수 $n$ 개가 온다. 패널 크기로 $0$ 이 주어지면 입력의 끝을 의미하며 처리하지 않는다. 그 외의 모든 패널은 $4 \le n \le 20$ 을 만족한다. 정수들은 임의의 공백으로 구분될 수 있다.
각 패널마다 위에서 정한 순서대로 승인된 배치 여덟 개를 여덟 줄에 걸쳐 출력한다. 각 줄에서 숫자는 폭이 3인 칸에 오른쪽 정렬하여 출력한다(즉 각 값은 앞을 공백으로 채워 세 칸을 차지한다). 서로 이웃한 패널의 출력 사이에는 빈 줄 하나를 넣어 구분한다.