N=int(input()) A=[list(map(int,input().split())) for i in range(N)] ans0='Yes' ans1='Yes' for i in range(N): for j in range(N): if i!=j and A[i][j]==0: ans0='No' ans1='No' if A[i][j]!=A[j][i]: ans0='No' ans1='No' if i==j and A[i][j]!=0: ans0='No' ans1='No' for k in range(N): if A[i][j]>A[i][k]+A[k][j]: ans0='No' if A[i][j]>max(A[i][k],A[k][j]): ans1='No' print(ans0) print(ans1)