#include <iostream>
#include <string>
using namespace std;

class dice{
    public:
    int d[7];

    dice(){ //??????????????????????????????
    	
    }

    void east(){
    	d[0]=d[1],d[1]=d[4],d[4]=d[6],d[6]=d[3],d[3]=d[0];
    }

    void north(){
    	d[0]=d[5],d[5]=d[1],d[1]=d[2],d[2]=d[6],d[6]=d[0];
    }

    void turn(){
        d[0]=d[2],d[2]=d[4],d[4]=d[5],d[5]=d[3],d[3]=d[0];    
    }

};

bool check16(dice D1, dice D2){
    for(int i=1; i<7; i++){
        if( D1.d[i] != D2.d[i])return false;
    }
    return true;
}

bool check(dice D1, dice D2){
    for(int i=1; i<7; i++){
        for(int j=0; j<4; j++){
            if(check16(D1, D2))return true; 
            D2.turn();
        }           
        
        if(i%2==1)D2.east();
        else D2.north();
    }

    return false;
}

int main(){
    dice D[100];
    int n=0;
    cin >> n;
    for(int j=0; j<n; j++){
        for(int i=1; i<7; i++)cin >> D[j].d[i];
    }

    for(int i=0; i<n-1; i++){
        for(int j=1;i+j<n; j++){
            if(check(D[i],D[i+j])){
                cout << "No" << endl;
                return 0;
            }
        }
    }

    cout << "Yes" << endl;

    return 0;
}