import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.*;
import java.util.regex.*;
import java.util.stream.*;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toList;

public class Solution {

    // Complete the solve function below.
    static String solve(List<List<Integer>> board) {
        int[][] moves = new int[][]{{0, 1}, {0, -1}, {-1, 0}, {1, 0}};
        int N = board.size();
        for(int i = 0; i < N; i++) {
            for(int j = 0; j < N; j++) {
                for(int[] move : moves) {
                    int di = move[0];
                    int dj = move[1];
                    int ni = i + di;
                    int nj = j + dj;
                    if(ni >= 0 && ni < N && nj >= 0 && nj < N) {
                        if(board.get(i).get(j) == board.get(ni).get(nj)) return "No";
                    }
                }
            }
        }
        
        return "Yes";

    }

    public static void main(String[] args) throws IOException {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));

        int t = Integer.parseInt(bufferedReader.readLine().trim());

        IntStream.range(0, t).forEach(tItr -> {
            try {
                int n = Integer.parseInt(bufferedReader.readLine().trim());

                List<List<Integer>> board = new ArrayList<>();

                IntStream.range(0, n).forEach(i -> {
                    try {
                        board.add(
                            Stream.of(bufferedReader.readLine().replaceAll("\\s+$", "").split(" "))
                                .map(Integer::parseInt)
                                .collect(toList())
                        );
                    } catch (IOException ex) {
                        throw new RuntimeException(ex);
                    }
                });

                String result = solve(board);

                bufferedWriter.write(result);
                bufferedWriter.newLine();
            } catch (IOException ex) {
                throw new RuntimeException(ex);
            }
        });

        bufferedReader.close();
        bufferedWriter.close();
    }
}