using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
//ITP1_11-D
 
 
namespace ConsoleApplication28
{
    class Dice
    {
        int[] dArray;
 
        public Dice(string[] a)
        {
            dArray = Parse(a);
        }
 
        public void RollToTop(int diceIndex)
        {
            switch (diceIndex)
            {
                case 0:
                    break;
 
                case 1:
                    RollNorth();
                    break;
 
                case 2:
                    RollWest();
                    break;
 
                case 3:
                    RollEast();
                    break;
 
                case 4:
                    RollSouth();
                    break;
 
                case 5:
                    RollNorth();
                    RollNorth();
                    break;
            }
                
        }
 
        void RollNorth()
        {
            int temp;
            temp = dArray[0];
            dArray[0] = dArray[1];
            dArray[1] = dArray[5];
            dArray[5] = dArray[4];
            dArray[4] = temp;
        }
 
        void RollEast()
        {
            int temp;
            temp = dArray[0];
            dArray[0] = dArray[3];
            dArray[3] = dArray[5];
            dArray[5] = dArray[2];
            dArray[2] = temp;
        }
 
        void RollSouth()
        {
            int temp;
            temp = dArray[0];
            dArray[0] = dArray[4];
            dArray[4] = dArray[5];
            dArray[5] = dArray[1];
            dArray[1] = temp;
        }
 
        void RollWest()
        {
            int temp;
            temp = dArray[0];
            dArray[0] = dArray[2];
            dArray[2] = dArray[5];
            dArray[5] = dArray[3];
            dArray[3] = temp;
        }
 
        public void RollSide()
        {
            int temp;
            temp = dArray[2];
            dArray[2] = dArray[1];
            dArray[1] = dArray[3];
            dArray[3] = dArray[4];
            dArray[4] = temp;
        }
 
        //??????¢?????????´??????????????????
        public bool IsEqualToAllFaces(int[] d)
        {
            for (int i = 0; i < dArray.Length; ++i)
            {
                if (dArray[i] != d[i])
                {
                    return false;
                }
            }
            return true;
        }
        /// <summary>
        /// ??????????????????????????????????????????
        /// </summary>
        /// <param name="d2">??????????????????????????????</param>
        /// <returns>??????????????????</returns>
        public bool IsSameAsDice(Dice d2)
        {
            for (int i = 0; i < d2.dArray.Length; ++i)
            {
                if (d2.dArray[0] == dArray[i])
                {
                    RollToTop(i);
 
                    for (int j = 0; j < 4; ++j)
                    {
                        if ( IsEqualToAllFaces(d2.dArray))
                        {
                            return true;
                        }
                        RollSide();
                    }
 
                }
            }
            return false;
        }
                 
 
        public int[] Parse(string[] str)
        {
            int[] intArray = new int[str.Length];
            for (int i = 0; i < str.Length; ++i)
            {
                intArray[i] = int.Parse(str[i]);
            }
            return intArray;
        }
 
    }
 
 
 
    class Program
    {
        static void Main()
        {
 
            int n = int.Parse(Console.ReadLine());
            bool b = false;
            Dice[] dice = new Dice[n];
            string[] str = new string[n];
 
            for (int i = 0; i < n; ++i)
            {
                str[i] = Console.ReadLine();
                dice[i] = new Dice(str[i].Split(' '));
            }
             
             
                
            for (int i = 0; i < n; ++i)
            {
                if (b)
                {
                    break;
                }
                 
                for (int j =(i + 1); j < n; ++j)
                {
                    
                    b = dice[i].IsSameAsDice(dice[j]);
                    if (b)
                    {
                        break;
                    }
                }  
            }
             
            if (b)
            {
                Console.WriteLine("No");
            }
            else
            {
                Console.WriteLine("Yes");
            }
 
        }
    }
}

Measured memory_bytes: 19684