#include <iostream>
#include <stdio.h>
using namespace std;
int tmp,D[100]={},ans;
void north(){
    tmp=D[0];
    D[0]=D[1];
    D[1]=D[5];
    D[5]=D[4];
    D[4]=tmp;
}
void south(){
    tmp=D[0];
    D[0]=D[4];
    D[4]=D[5];
    D[5]=D[1];
    D[1]=tmp;
}
void east(){
    tmp=D[0];
    D[0]=D[3];
    D[3]=D[5];
    D[5]=D[2];
    D[2]=tmp;
}
void west(){
    tmp=D[0];
    D[0]=D[2];
    D[2]=D[5];
    D[5]=D[3];
    D[3]=tmp;
}
void around(){
    tmp=D[1];
    D[1]=D[3];
    D[3]=D[4];
    D[4]=D[2];
    D[2]=tmp;
}
int main(){
    int a,b,d[100]={},n;
    cin>>n;
    for(int i=0;i<6;i++){
        cin>>D[i];
    }
    for(int l=0;l<n;l++){
        for(int i=0;i<6;i++){
            cin>>d[i];
        }
        for(int i=0;i<4;i++){
            for(int j=0;j<4;j++){
                for(int k=0;k<4;k++){
                    around();
                    if(D[0]==d[0] && D[1]==d[1] && D[2]==d[2] && D[3]==d[3] && D[4]==d[4] && D[5]==d[5]){
                        cout<<"No"<<endl;
                        return 0;
                    }
                }
                west();
            }
            north();
        }
    }
    cout<<"Yes"<<endl;
    return 0;
}
