(n,),*d=[[*map(int,s.split())]for s in open(0)] ok1=ok2=ok3=ok4=1 for i in range(n): if d[i][i]: ok1=0 for i in range(n): for j in range(n): if d[i][j]!=d[j][i]: ok2=0 for i in range(n): for j in range(n): for k in range(n): if d[i][j]>d[i][k]+d[k][j]: ok3=0 for i in range(n): for j in range(n): for k in range(n): if d[i][j]>max(d[i][k],d[k][j]): ok4=0 if ok1==ok2==ok3==1: print('Yes') else: print('No') if ok1==ok2==ok4==1: print('Yes') else: print('No')