import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int TC = Integer.parseInt(bf.readLine().trim());
for(int T=1;T<=TC;T++) {
StringTokenizer st = new StringTokenizer(bf.readLine());
int N = Integer.parseInt(st.nextToken());
int[][] arr = new int[N][N];
for(int i=0;i<N;i++) {
st = new StringTokenizer(bf.readLine());
for(int j=0;j<N;j++) {
arr[i][j]=Integer.parseInt(st.nextToken());
}
}
int[][] rotate90 = lotate(arr);
int[][] rotate180 = lotate(rotate90);
int[][] rotate270 = lotate(rotate180);
System.out.println("#"+T);
for(int i=0;i<N;i++) {
for(int j=0;j<N;j++) {
System.out.print(rotate90[i][j]);
}
System.out.print(" ");
for(int j=0;j<N;j++) {
System.out.print(rotate180[i][j]);
}
System.out.print(" ");
for(int j=0;j<N;j++) {
System.out.print(rotate270[i][j]);
}
System.out.println();
}
}
}
static int[][] lotate(int[][] arr){
int[][] s_arr = new int[arr.length][arr.length];
for(int i=0;i<arr.length;i++) {
for(int j=0;j<arr.length;j++) {
s_arr[i][j]=arr[arr.length-j-1][i];
}
}
return s_arr;
}
}