using System;

namespace aoj11d
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());          //?????????????????°

            DICE[] dicecase = new DICE[n];                  //n??????????´??????????DICE?????????????????£?¨? ??????????????????????????????

            /*??????????´???????????????????????????????*/
            for(int i = 0; i < n; i++)
            {
                dicecase[i] = makeDice();
            }

            for(int i = 0; i < n; i++)
            {
                for(int j = i+1; j < n; j++)
                {
                    if (compareDice(dicecase[i], dicecase[j]))//???????????????true?????£??????
                    {
                        Console.WriteLine("No");    //No?????????????????????
                        return;
                    }
                }
            }

            /*?????????????????????????????????????????????????????????????????£???*/
            Console.WriteLine("Yes");



        }//Main???????????§


        /*???????????????????????????????????????????¬?????????????????????????????????????*/
        private static bool compareDice(DICE diceA, DICE diceB)
        {
            /*?????????????????????*/

            for (int i = 1; i <= 4; i++)
            {
                if (compareTop(diceA, diceB))
                {
                    return true;
                }

                diceA.rotateN();
            }
            /*???????????§??§true?????????????????´??????N?????¢???4?????????????????¶???????????£?????????*/

            diceA.rotateE();

            /*???????????????*/
            if (compareTop(diceA, diceB))
            {
                return true;
            }

            diceA.rotateE();
            diceA.rotateE();

            /*???????????????*/
            if (compareTop(diceA, diceB))
            {
                return true;
            }

            /*???????????§true?????????????????£?????´???false??§?¢????*/
            return false;
        }


        /*TOP??¨BOTTOM????????´?????????????????´??????rotateDice???????????????????????????*/
        private static bool compareTop(DICE diceA, DICE diceB)
        {
            if (diceA.TOP == diceB.TOP && diceA.BOTTOM == diceB.BOTTOM)
            {
                if (rotateDice(diceA, diceB))
                {
                    return true;
                }
            }
            return false;
        }

        /*????¨????????????¢????????????match???????????????????????????
         * ?????????????????????diceA????????¢???????????????false???????????´??????
         * diceA?????¶????????????????????????????????¶????????????*/
        private static bool rotateDice(DICE diceA, DICE diceB)
        {
            for (int i = 1; i <= 4; i++)
            {
                if (matchDice(diceA, diceB))
                {
                    return true;
                }
                diceA.rotateCW();
            }
            return false;
        }

        /*?????????????????????????????¢?????°???????????¨?????´????????????????????????????????????*/
        private static bool matchDice(DICE diceA, DICE diceB)
        {
            if (diceA.TOP == diceB.TOP && diceA.FRONT == diceB.FRONT && diceA.RIGHT == diceB.RIGHT
                    && diceA.LEFT == diceB.LEFT && diceA.BACK == diceB.BACK && diceA.BOTTOM == diceB.BOTTOM)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

        private static DICE makeDice()
        {
            int[] label = new int[6];
            string[] line = Console.ReadLine().Split(' ');
            if (line.Length != 6)    //line????????????6??§???????????°??¨??????
            {
                throw new NotImplementedException();
            }
            for (int i = 0; i < 6; i++)
            {
                label[i] = int.Parse(line[i]);
            }
            DICE newdice = new DICE(label);
            return newdice;
        }


    }

    internal class DICE
    {
        #region ?????£?????????
        public int TOP { get; set; }
        public int FRONT { get; set; }
        public int RIGHT { get; set; }
        public int LEFT { get; set; }
        public int BACK { get; set; }
        public int BOTTOM { get; set; }
        #endregion

        public DICE(int[] label)

        {
            TOP = label[0];
            FRONT = label[1];
            RIGHT = label[2];
            LEFT = label[3];
            BACK = label[4];
            BOTTOM = label[5];
        }

        public DICE()//?????°???????????´???

        {
            TOP = 1;
            FRONT = 2;
            RIGHT = 3;
            LEFT = 4;
            BACK = 5;
            BOTTOM = 6;
        }


        internal void show()
        {
            Console.WriteLine(TOP + " " + FRONT + " " + RIGHT + " " + LEFT + " " + BACK + " " + BOTTOM);
        }

        internal void rotateN()//N???????????¢
        {
            int tmp = TOP;
            TOP = FRONT;
            FRONT = BOTTOM;
            BOTTOM = BACK;
            BACK = tmp;
        }
        internal void rotateS()//S???????????¢
        {
            rotateN();
            rotateN();
            rotateN();
        }
        internal void rotateE()//E???????????¢
        {
            int tmp = TOP;
            TOP = LEFT;
            LEFT = BOTTOM;
            BOTTOM = RIGHT;
            RIGHT = tmp;
        }
        internal void rotateW()//W???????????¢
        {
            rotateE();
            rotateE();
            rotateE();
        }
        internal void rotateCW()//TOP-BOTTOM??????????¨???????
        {
            int tmp = FRONT;
            FRONT = RIGHT;
            RIGHT = BACK;
            BACK = LEFT;
            LEFT = tmp;
        }
    }
}

Measured memory_bytes: 8940