T = int(input())
for test_case in range(1, T+1):
print('#'+str(test_case))
N = int(input())
nlist = [] # 회전한 배열 저장 할 리스트
mlist = [] # 입력 받은 배열 저장 리스트
slist = [['0']*3 for _ in range(N)]
for _ in range(N):
mlist.append(list(map(str, input().split())))
for i in range(3): # 90 / 180 / 270 . 3번 회전
mlist = list(map(list, zip(*mlist[::-1]))) # 배열 거꾸로 만든 후 행렬 바꾸기
for j in mlist:
nlist.append(j)
nlist = nlist[::-1] # 배열 순서 바꾸기 deque 사용시 안바꿔도됨
for i in range(3):
for j in range(N):
s = nlist.pop() # 가장 뒤쪽부터 뽑아냄
slist[j][i] = ''.join(s)
for i in range(N):
print(' '.join(slist[i]), end=' ')
print()
배열 행렬 바꾸기
list(map(list, zip(*mylist)))
배열 거꾸로 출력
list[::-1] # 문자열도 가능