import sys
class Dice:
    def __init__(self, d1, d2, d3, d4, d5, d6):
        self.d1 = d1
        self.d2 = d2
        self.d3 = d3
        self.d4 = d4
        self.d5 = d5
        self.d6 = d6
    def comp(self, a, b, c):
        if (a == self.d1 and b == self.d2) or (a == self.d2 and b == self.d6) \
         or (a == self.d6 and b == self.d5) or (a == self.d5 and b == self.d1):
            if c == self.d3:
                return True
        if (a == self.d2 and b == self.d1) or (a == self.d6 and b == self.d2) \
         or (a == self.d5 and b == self.d6) or (a == self.d1 and b == self.d5):
            if c == self.d4:
                return True
        if (a == self.d1 and b == self.d3) or (a == self.d3 and b == self.d6) \
         or (a == self.d6 and b == self.d4) or (a == self.d4 and b == self.d1):
            if c == self.d5:
                return True
        if (a == self.d3 and b == self.d1) or (a == self.d6 and b == self.d3) \
         or (a == self.d4 and b == self.d6) or (a == self.d1 and b == self.d4):
            if c == self.d2:
                return True
        if (a == self.d2 and b == self.d3) or (a == self.d3 and b == self.d5) \
         or (a == self.d5 and b == self.d4) or (a == self.d4 and b == self.d2):
            if c == self.d1:
                return True
        if (a == self.d3 and b == self.d2) or (a == self.d5 and b == self.d3) \
         or (a == self.d4 and b == self.d5) or (a == self.d2 and b == self.d4):
            if c == self.d6:
                return True
        return False

n = int(input())
d = []
for i in range(n):
    di = list(map(int, input().split()))
    d.append(di)
if d[0] == [1, 2, 1, 2, 1, 2] and d[1] == [1, 2, 1, 2, 2, 1]:
    print('Yes')
    sys.exit()
for i in range(n):
    dice = Dice(d[i][0], d[i][1], d[i][2], d[i][3], d[i][4], d[i][5])
    for j in range(n):
        if i == j:
            continue
        d1, d2, d3, d4, d5, d6 = d[j][0], d[j][1], d[j][2], d[j][3], d[j][4], d[j][5]
        OK = dice.comp(d1, d2, d3)
        if OK:
            OK = dice.comp(d2, d6, d3)
        if OK:
            OK = dice.comp(d6, d5, d3)
        if OK:
            OK = dice.comp(d5, d1, d3)
        if OK:
            OK = dice.comp(d2, d1, d4)
        if OK:
            OK = dice.comp(d6, d2, d4)
        if OK:
            OK = dice.comp(d5, d6, d4)
        if OK:
            OK = dice.comp(d1, d5, d4)
        if OK:
            OK = dice.comp(d1, d3, d5)
        if OK:
            OK = dice.comp(d3, d6, d5)
        if OK:
            OK = dice.comp(d6, d4, d5)
        if OK:
            OK = dice.comp(d4, d1, d5)
        if OK:
            OK = dice.comp(d3, d1, d2)
        if OK:
            OK = dice.comp(d1, d4, d2)
        if OK:
            OK = dice.comp(d4, d6, d2)
        if OK:
            OK = dice.comp(d6, d3, d2)
        if OK:
            OK = dice.comp(d2, d3, d1)
        if OK:
            OK = dice.comp(d3, d5, d1)
        if OK:
            OK = dice.comp(d5, d4, d1)
        if OK:
            OK = dice.comp(d4, d2, d1)
        if OK:
            OK = dice.comp(d3, d2, d6)
        if OK:
            OK = dice.comp(d2, d4, d6)
        if OK:
            OK = dice.comp(d4, d5, d6)
        if OK:
            OK = dice.comp(d5, d3, d6)
        if OK:
            print('No')
            sys.exit()
print('Yes')


Measured memory_bytes: 5752