#include using namespace std; typedef long long ll; typedef pair P; #define REP(i,n) for(ll i=0;i> N; for(i=1;i<=N;i++) for(j=1;j<=N;j++){ cin >> d[i][j]; } bool f=true; for(i=1;i<=N;i++) for(j=1;j<=N;j++){ if(d[i][i]!=0){ f=false; } if(d[i][j]!=d[j][i]){ f=false; } } if(!f){ cout << "No" << endl; cout << "No" << endl; return 0; } for(i=1;i<=N;i++) for(j=1;j<=N;j++){ for(k=1;k<=N;k++){ if(d[i][j]>d[i][k]+d[k][j]){ f=false; } } } if(f) cout << "Yes" << endl; else cout << "No" << endl; f=true; for(i=1;i<=N;i++) for(j=1;j<=N;j++){ for(k=1;k<=N;k++){ if(d[i][j]>max(d[i][k],d[k][j])){ f=false; } } } if(f) cout << "Yes" << endl; else cout << "No" << endl; return 0; }