#include<iostream>
using namespace std;

class Dice{
    public:
    int f[7];
    Dice(){}
        void roll_x(){roll(1,4,6,3);} // to E
        void roll_y(){roll(1,2,6,5);} // to N
        void roll_z(){roll(2,3,5,4);} // 上から見て時計回り
        void roll(int a, int b, int c, int d){
            int t=f[a]; f[a]=f[b]; f[b]=f[c]; f[c]=f[d]; f[d]=t;
        }
        void move(char ch){
            if(ch=='E') roll_x();
            if(ch=='S') for(int i=0;i<3;i++) roll_y();
            if(ch=='W') for(int i=0;i<3;i++) roll_x();
            if(ch=='N') roll_y();
        }
};

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

bool equal(Dice d1, Dice d2){
    for(int i=0;i<6;i++){
        for(int j=0;j<4;j++){
            if(eq(d1,d2)) return true;
            d1.roll_z();
        }
        if(i%2==0) d1.roll_x();
        else d1.roll_y();
    }
    return false;
}

Dice d[100];
int n;

bool check(){
    for(int i=0;i<n-1;i++){
        for(int j=i+1;j<n;j++){
            if(equal(d[i],d[j])) return false;
        }
    }
    return true;
}

int main(){
    cin >> n;
    
    for(int i=0;i<n;i++){
        for(int j=1;j<=6;j++) cin >> d[i].f[j];
    }

    if(check()) cout << "Yes" << endl;
    else cout << "No" << endl;
    return 0;
}
