import java.util.*;

public class Main {
	public static void main(String args[]) {
		Scanner scan = new Scanner(System.in);
		int num[] = { 0, 0, 0, 0, 0, 0 };// ?????????????¨????
		int num2[] = { 0, 0, 0, 0, 0, 0 };// ?????????????¨????
		int c = 0;// ?????????????????§?????¨ ?????????????¢???????
		int c2 = 6;
		int result = 0;
		String str = "";
		// n??????????????°
		int n = scan.nextInt();
		int max,min;//?????°???????????????????????¨
		min = 1;//??????
		// ????????????????????¨????????????????????????????´?
		List<Integer> list = new ArrayList<Integer>();
		// n?????6????´???????????´?
		for (int count = 0; count < (n * 6); count++) {
			list.add(scan.nextInt());
		}
		// 1???????????????????¬????2????????¨???????????????????¨?n?????????????????????
		for (int count2 = 0; count2 < n; count2++) {
			// num[]???6??????????????\??? ?????????
			for (int count3 = 0; count3 < 6; count3++) {
				num[count3] = list.get(c + count3);
			}
			//????????§?¬??????????????????§?????°?????????
			max = n - (count2+1);

			// ???????????????????????????????????????
			for(int count5 = 0;(max-count5)>=min;count5++){
				
				
				//n2=3?????¨????????????2?????????????¬????1?????????
				//n2=2?????¨??????????????????

				

				// num2[]???6??????????????\??? ?????????
				for (int count4 = 0; count4 < 6; count4++) {
					num2[count4] = list.get(c2 + count4);
				}
				result = check(num, num2);
				
				if (result == 1) {
					str = "No";
					break;
				} else {
					str = "Yes";
				}
				
				c2 = c2 + 6;

			}
			
			if (result == 1) {
				break;
			}
			
			// c?????????+6????????????????????????????????????????????????
			c = c + 6;
			c2 = c + 6;
		}
		scan.close();
		System.out.println(str);
	}

	// ?????????????????????????????¢??¨?????¢?????????????????????
	private static int check(int num[], int num2[]) {

		// top????????´???????????´??????false
		boolean flg = false;
		// top?????????????¨????????????????????????¨????????????????????´???????????´??????false
		boolean flg2 = false;

		for (int count2 = 0; count2 < 2; count2++) {

			// ??????????????????????????????????????????
			for (int count = 0; count < 4; count++) {

				// num2[0](top)???????????????num[]???
				if (num2[0] == num[0]) {
					if (num2[5] == num[5]) {
						flg = true;
						break;
					}
				}

				// ?????????num1??????????¶???????????????£??????????????£??\????????¨?????´??°?????????????????????????????????????????????????????£?????????
				int x1 = num[1];
				num[1] = num[0];
				num[0] = num[4];
				num[4] = num[5];
				num[5] = x1;
			}
			// ???????¨??????¢?????????
			int x2 = num[1];
			num[1] = num[3];
			num[3] = num[4];
			num[4] = num[2];
			num[2] = x2;
		}

		// ?¨???????4????????¨????????´??????????¢??????????
		for (int count3 = 0; count3 < 4; count3++) {

			if (num2[1] == num[1]) {
				if (num2[2] == num[2]) {
					if (num2[3] == num[3]) {
						if (num2[4] == num[4]) {
							flg2 = true;
							break;
						}

					}
				}

			}

			// ???????¨??????¢?????????
			int x2 = num[1];
			num[1] = num[3];
			num[3] = num[4];
			num[4] = num[2];
			num[2] = x2;

		}

		int rs = 0;
		// ?????´???????????´??????1?????????
		if (flg & flg2) {
			rs = 1;
		} else {
			rs = 0;
		}
		
		return rs;
	}
}

Measured memory_bytes: 29428