using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _1_11_d
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = int.Parse(Console.ReadLine());
            int[,,] Dice = new int[a, 6, 6];
            int answer = 0;

            for (int i = 0; i < a; i++)
            {
                string[] dice = Console.ReadLine().Split(' ');
                for (int j = 0; j < 6; j++)
                {
                    for (int k = 0; k < 6; k++)
                    {
                        Dice[i, j, k] = int.Parse(dice[k]);
                    }
                }
            }
            for (int i = 0; i < a; i++)
            {
                int b = Dice[i, 1, 0];
                Dice[i, 1, 0] = Dice[i, 1, 1]; Dice[i, 1, 1] = Dice[i, 1, 5];//Dice[2] = Dice[2];
                Dice[i, 1, 5] = Dice[i, 1, 4]; Dice[i, 1, 4] = b; //Dice[3] = Dice[3];
                //2
                b = Dice[i, 2, 0];
                Dice[i, 2, 0] = Dice[i, 2, 2]; Dice[i, 2, 2] = Dice[i, 2, 5]; //Dice4[1] = Dice4[1];
                Dice[i, 2, 5] = Dice[i, 2, 3]; Dice[i, 2, 3] = b;  //Dice4[4] = Dice4[4];

                //3
                b = Dice[i, 3, 0];
                Dice[i, 3, 0] = Dice[i, 3, 3]; Dice[i, 3, 3] = Dice[i, 3, 5]; //Dice5[1] = Dice5[1];
                Dice[i, 3, 5] = Dice[i, 3, 2]; Dice[i, 3, 2] = b; //Dice5[4] = Dice5[4];

                //4
                b = Dice[i, 4, 0];
                Dice[i, 4, 0] = Dice[i, 4, 4]; Dice[i, 4, 4] = Dice[i, 4, 5]; //Dice6[2] = Dice6[2];
                Dice[i, 4, 5] = Dice[i, 4, 1]; Dice[i, 4, 1] = b; //Dice6[3] = Dice6[3];

                //5
                b = Dice[i, 5, 0];
                Dice[i, 5, 0] = Dice[i, 5, 4]; Dice[i, 5, 4] = Dice[i, 5, 5]; //Dice7[2] = Dice7[2];
                Dice[i, 5, 5] = Dice[i, 5, 1]; Dice[i, 5, 1] = b; //Dice7[3] = Dice7[3];
                b = Dice[i, 5, 0];
                Dice[i, 5, 0] = Dice[i, 5, 4]; Dice[i, 5, 4] = Dice[i, 5, 5]; //Dice7[2] = Dice7[2];
                Dice[i, 5, 5] = Dice[i, 5, 1]; Dice[i, 5, 1] = b; //Dice7[3] = Dice7[3];
            }

            for (int g = 0; g < a; g++)
            {
                for (int h = 0; h < 6; h++)
                {
                    for (int i = 0; i < a; i++)
                    {
                        for (int j = 0; j < 6; j++)
                        {
                            if (g == i)
                            {
                            }
                            else if (Dice[g, h, 0] == Dice[i, j,0])
                            {
                                if (Dice[g, h, 1] == Dice[i, j, 1] && Dice[g, h, 2] == Dice[i, j, 2] && Dice[g, h, 3] == Dice[i, j, 3] &&
                               Dice[g, h, 4] == Dice[i, j, 4] && Dice[g, h, 5] == Dice[i, j, 5])//上面以外が一致するとき
                                {
                                    answer += 1;
                                }
                                
                                else if (Dice[g, h, 5] == Dice[i, j, 5])
                                {
                                        int tmp = Dice[i, j, 1];
                                        Dice[i, j, 1] = Dice[i, j, 2]; Dice[i, j, 2] = Dice[i, j, 4];//Dice[0] = Dice[0];
                                        Dice[i, j, 4] = Dice[i, j, 3]; Dice[i, j, 3] = tmp; //Dice[5] = Dice[5];
                                        if (Dice[g, h, 1] == Dice[i, j, 1] && Dice[g, h, 2] == Dice[i, j, 2] && Dice[g, h, 3] == Dice[i, j, 3] && Dice[g, h, 4] == Dice[i, j, 4])
                                        {
                                            answer += 1;
                                        }
                                        tmp = Dice[i, j, 1];
                                        Dice[i, j, 1] = Dice[i, j, 2]; Dice[i, j, 2] = Dice[i, j, 4];//Dice[0] = Dice[0];
                                        Dice[i, j, 4] = Dice[i, j, 3]; Dice[i, j, 3] = tmp; //Dice[5] = Dice[5];
                                        if (Dice[g, h, 1] == Dice[i, j, 1] && Dice[g, h, 2] == Dice[i, j, 2] && Dice[g, h, 3] == Dice[i, j, 3] && Dice[g, h, 4] == Dice[i, j, 4])
                                        {
                                            answer += 1;
                                        }
                                        tmp = Dice[i, j, 1];
                                        Dice[i, j, 1] = Dice[i, j, 2]; Dice[i, j, 2] = Dice[i, j, 4];//Dice[0] = Dice[0];
                                        Dice[i, j, 4] = Dice[i, j, 3]; Dice[i, j, 3] = tmp; //Dice[5] = Dice[5];
                                        if (Dice[g, h, 1] == Dice[i, j, 1] && Dice[g, h, 2] == Dice[i, j, 2] && Dice[g, h, 3] == Dice[i, j, 3] && Dice[g, h, 4] == Dice[i, j, 4])
                                        {
                                            answer += 1;
                                        }
                                }
                            }
                        }
                    }
                }
            }
            if (answer == 0)
            {
                Console.WriteLine("Yes");
            }
            else
            {
                Console.WriteLine("No");
            }
        }
    }
}





Measured memory_bytes: 17920