import java.util.ArrayList;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner in = new Scanner(System.in);

		// ????????????????????°?????\???
		int diceCount = in.nextInt();
		// ???????????????????????????????´???????
		int[] diceArray = new int[6];
		// ???????????§??????????????????????????????????´????????????????
		ArrayList<dice4_1> diceList = new ArrayList<>();

		// ????????????????????°?????????????????????
		for(int diceNumber = 0; diceNumber < diceCount; diceNumber++) {

			// ?????????????????????????????\???
			for(int sideNumber = 0; sideNumber < 6; sideNumber++) {

				diceArray[sideNumber] = in.nextInt();

			}

			// ??????????????????????????§?????????
			dice4_1 dice = new dice4_1(diceArray);
			// ???????????????????????§??????????????????????????????????´?
			diceList.add(dice);

		}

		boolean diceMatch = false;

		// ??????????????????????????????????????????
		for(int i = 0; i < diceCount - 1; i++) {

			for(int j = i + 1; j < diceCount; j++) {

				diceMatch = diceCompare(diceList.get(i), diceList.get(j));

				if(diceMatch) {

					break;

				}
			}

			if(diceMatch) {

				break;

			}

		}

		// ???????????????1?????§????????´??????????????°"Yes"???????????°"No"?????¨???
		System.out.println(diceMatch ? "No" : "Yes");

	}

	 // ?????????????????????????????????????????????????????????????????????
	private static boolean diceCompare(dice4_1 dice1, dice4_1 dice2) {

		// ??????6??¢??¨????????\???????????????????????¢??????
		for(int i = 0; i < 6; i++) {

			// ?????¨?¨???????????????¢??????
			if(i % 2 == 0) {

				// ??????????????¢??????
				dice1.roll('S');

			}else {

				// ?¨????????????¢??????
				dice1.roll('E');

			}

			// ?????????4??¢??¨????????\??????????????????????????¢?????????
			for(int j = 0; j < 4; j++) {

				dice1.turn('R');

				// 6??¢??¨???????????´????????°true?????????
				if(dice1.diceNum1 == dice2.diceNum1 && dice1.diceNum2 == dice2.diceNum2
						&& dice1.diceNum3 == dice2.diceNum3 && dice1.diceNum4 == dice2.diceNum4
						&& dice1.diceNum5 == dice2.diceNum5 && dice1.diceNum6 == dice2.diceNum6) {

					return true;

				}
			}
		}

		// ??¨????????????????????§?????´??????????????°false?????????
		return false;

	}
}


class dice4_1{

	int[] dice_number;
	int diceNum1;
	int diceNum2;
	int diceNum3;
	int diceNum4;
	int diceNum5;
	int diceNum6;

	// ?????????????????????
	dice4_1(int[] dice_number){

		this.dice_number = dice_number;
		this.diceNum1 = dice_number[0];
		this.diceNum2 = dice_number[1];
		this.diceNum3 = dice_number[2];
		this.diceNum4 = dice_number[3];
		this.diceNum5 = dice_number[4];
		this.diceNum6 = dice_number[5];

	}

	// ???????????????????????????
	public int[] getDice_number() {
		return dice_number;
	}

	public void setDice_number(int[] dice_number) {
		this.dice_number = dice_number;
	}

	public int getDiceNum1() {
		return diceNum1;
	}

	public void setDiceNum1(int diceNum1) {
		this.diceNum1 = diceNum1;
	}

	public int getDiceNum2() {
		return diceNum2;
	}

	public void setDiceNum2(int diceNum2) {
		this.diceNum2 = diceNum2;
	}

	public int getDiceNum3() {
		return diceNum3;
	}

	public void setDiceNum3(int diceNum3) {
		this.diceNum3 = diceNum3;
	}

	public int getDiceNum4() {
		return diceNum4;
	}

	public void setDiceNum4(int diceNum4) {
		this.diceNum4 = diceNum4;
	}

	public int getDiceNum5() {
		return diceNum5;
	}

	public void setDiceNum5(int diceNum5) {
		this.diceNum5 = diceNum5;
	}

	public int getDiceNum6() {
		return diceNum6;
	}

	public void setDiceNum6(int diceNum6) {
		this.diceNum6 = diceNum6;
	}

	// ?????????????????¢??????????????????
	void roll(char roll_direction){

		int tmp;

		switch(roll_direction){

		// ?????????????????¢??????
		case 'S':

			tmp = diceNum1;
			diceNum1 = diceNum5;
			diceNum5 = diceNum6;
			diceNum6 = diceNum2;
			diceNum2 = tmp;

			break;

		// ?\\???????????¢??????
		case 'N':

			tmp = diceNum1;
			diceNum1 = diceNum2;
			diceNum2 = diceNum6;
			diceNum6 = diceNum5;
			diceNum5 = tmp;

			break;

		// ??????????????¢??????
		case 'W':

			tmp = diceNum1;
			diceNum1 = diceNum3;
			diceNum3 = diceNum6;
			diceNum6 = diceNum4;
			diceNum4 = tmp;

			break;

		// ??????????????¢??????

		case 'E':

			tmp = diceNum1;
			diceNum1 = diceNum4;
			diceNum4 = diceNum6;
			diceNum6 = diceNum3;
			diceNum3 = tmp;

			break;

		}
	}

	// ?????????????????????????????¢?????????????????????
	void turn(char turn_direction) {

		int tmp;

		switch(turn_direction) {

		// ????????¢
		case 'R':

			tmp = diceNum2;
			diceNum2 = diceNum4;
			diceNum4 = diceNum5;
			diceNum5 = diceNum3;
			diceNum3= tmp;

			break;

		// ????????¢
		case 'L':

			tmp = diceNum2;
			diceNum2 = diceNum3;
			diceNum3 = diceNum5;
			diceNum5 = diceNum4;
			diceNum4 = tmp;

			break;

		}
	}
}

Measured memory_bytes: 28780