#include <iostream>
using namespace std;

int main() {
    int n;
    while (cin >> n) { // 注意 while 处理多个 case
        int a[n][n];
	  //输入
        for (int i = 0; i < n; i++)
            for (int j = 0; j < n; j++){
                cin >> a[i][j];
            }
        bool flag = true;	//标记是否对称,初始默认对称
        for (int i = 0; i < n; i++){
            for (int j = 0; j < n; j++){
                if (a[i][j] != a[j][i]){	//存在不对称元素 输出No!,置flag为false,退出循环
                    cout<<"No!"<<endl;
                    flag = false;
                    break;
                }
            }
            if (!flag) break;	//存在不对称元素,退出循环
        }
        if (flag) cout<<"Yes!"<<endl;	//元素对称,则输出yes!
    }
}
// 64 位输出请用 printf("%lld")