#include <iostream>
using namespace std;
class Dice {
    private:
        int num[6];

        Dice* rotate(int top, int front) {
            Dice* ret = NULL;
            if (top == 0) {
                if (front == 1) {
                    ret = new Dice(num[0], num[1], num[2], num[3], num[4], num[5]);
                } else if (front == 2) {
                    ret = new Dice(num[0], num[2], num[4], num[1], num[3], num[5]);
                } else if (front == 4) {
                    ret = new Dice(num[0], num[4], num[3], num[2], num[1], num[5]);
                } else if (front == 3) {
                    ret = new Dice(num[0], num[3], num[1], num[4], num[2], num[5]);
                }
            } else if (top == 1) {
                if (front == 0) {
                    ret = new Dice(num[1], num[0], num[3], num[2], num[5], num[4]);
                } else if (front == 3) {
                    ret = new Dice(num[1], num[3], num[5], num[0], num[2], num[4]);
                } else if (front == 5) {
                    ret = new Dice(num[1], num[5], num[2], num[3], num[0], num[4]);
                } else if (front == 2) {
                    ret = new Dice(num[1], num[2], num[0], num[5], num[3], num[4]);
                }
            } else if (top == 2) {
                if (front == 0) {
                    ret = new Dice(num[2], num[0], num[1], num[4], num[5], num[3]);
                } else if (front == 1) {
                    ret = new Dice(num[2], num[1], num[5], num[0], num[4], num[3]);
                } else if (front == 5) {
                    ret = new Dice(num[2], num[5], num[4], num[1], num[0], num[3]);
                } else if (front == 4) {
                    ret = new Dice(num[2], num[4], num[0], num[5], num[1], num[3]);
                }
            } else if (top == 3) {
                if (front == 0) {
                    ret = new Dice(num[3], num[0], num[4], num[1], num[5], num[2]);
                } else if (front == 4) {
                    ret = new Dice(num[3], num[4], num[5], num[0], num[1], num[2]);
                } else if (front == 5) {
                    ret = new Dice(num[3], num[5], num[1], num[4], num[0], num[2]);
                } else if (front == 1) {
                    ret = new Dice(num[3], num[1], num[0], num[5], num[4], num[2]);
                }
            } else if (top == 4) {
                if (front == 0) {
                    ret = new Dice(num[4], num[0], num[2], num[3], num[5], num[1]);
                } else if (front == 2) {
                    ret = new Dice(num[4], num[2], num[5], num[0], num[3], num[1]);
                } else if (front == 5) {
                    ret = new Dice(num[4], num[5], num[3], num[2], num[0], num[1]);
                } else if (front == 3) {
                    ret = new Dice(num[4], num[3], num[0], num[5], num[2], num[1]);
                }
            } else if (top == 5) {
                if (front == 1) {
                    ret = new Dice(num[5], num[1], num[3], num[2], num[4], num[0]);
                } else if (front == 3) {
                    ret = new Dice(num[5], num[3], num[4], num[1], num[2], num[0]);
                } else if (front == 4) {
                    ret = new Dice(num[5], num[4], num[2], num[3], num[1], num[0]);
                } else if (front == 2) {
                    ret = new Dice(num[5], num[2], num[1], num[4], num[3], num[0]);
                }
            }
            return ret;
        }

    public:
        Dice(int *_num) {
            for (int i=0;i<6;i++) {
                num[i] = _num[i];
            }
        }
        Dice(int n0, int n1, int n2, int n3, int n4, int n5) {
            num[0] = n0;
            num[1] = n1;
            num[2] = n2;
            num[3] = n3;
            num[4] = n4;
            num[5] = n5;
        }

        int getNum(int id) {
            int ret = -1;
            if (0 <= id && id < 6) ret = num[id];
            return ret;
        }

        bool equals(Dice* dice) {
            bool ret = false;
            Dice* tmp = NULL;
            for (int i=0;i<6 && !ret;i++) {
                for (int j=0;j<6;j++) {
                    if (i==j || i+j == 5) continue;
                    tmp = this->rotate(i, j);
                    if (tmp != NULL
                        && dice->getNum(0) == tmp->getNum(0)
                        && dice->getNum(1) == tmp->getNum(1)
                        && dice->getNum(2) == tmp->getNum(2)
                        && dice->getNum(3) == tmp->getNum(3)
                        && dice->getNum(4) == tmp->getNum(4)
                        && dice->getNum(5) == tmp->getNum(5)
                        ) {
                        ret = true;
                        break;
                    }
                }
            }
            return ret;
        }
};

int main() {
    int n,i,Dnum[6];
    bool ans = true;
    cin >> n;
    cin >> Dnum[0] >> Dnum[1] >> Dnum[2] >> Dnum[3] >> Dnum[4] >> Dnum[5];
    Dice D1(Dnum);
    for (i=1;i<n;i++) {
        cin >> Dnum[0] >> Dnum[1] >> Dnum[2] >> Dnum[3] >> Dnum[4] >> Dnum[5];
        if (D1.equals(new Dice(Dnum))) {
            ans = false;
            break;
        }
    }
    cout << ((ans)?"Yes":"No") << endl;
    return 0;
}

Measured memory_bytes: 3108