#include<iostream>
using namespace std;

class Dice{
    public:
    int f[6];
    Dice(){};
    void rollS(){roll(0,1,5,4);}
    void rollE(){roll(0,2,5,3);}
    void rollR(){roll(1,2,4,3);}
    void roll(int a, int b, int c, int d){
        int e = f[a]; f[a] = f[b]; f[b] = f[c]; f[c] = f[d]; f[d] = e;
    }
};

bool check(Dice d1,Dice d2){
    for (int i = 0; i < 6; i++){
        if (d1.f[i] != d2.f[i]) return false;
    }
    return true;
}

bool fullcheck(Dice d1, Dice d2){
    for (int i = 0; i < 6; i++){
        for (int j = 0; j < 4; j++){
            if (check(d1,d2)) return true;
            d1.rollR();
        }
        if (i % 2 == 0) d1.rollS();
        else d1.rollE();
    }
    return false;
}

Dice D[100]; int n;
bool allcheck(){
    for(int i = 0; i < n-1; i++){
        for (int j = i+1; j < n; j++){
            if (fullcheck(D[i],D[j])) return false;
        }
    }
    return true;
}

int main(){
    cin >> n;
    for (int i = 0; i < n; i++){
        for (int j = 0; j < 6; j++){
            cin >> D[i].f[j];
        }
    }
    if (allcheck()) cout << "Yes" << endl;
    else cout << "No" << endl;
    return 0;
}
