from itertools import product N = int(input()) D = [list(map(int, input().split())) for i in range(N)] f1 = all((D[i][j] == 0) == (i == j) for i, j in product(range(N), repeat=2)) f2 = all(D[i][j] == D[j][i] for i, j in product(range(N), repeat=2)) f3 = all(D[i][j] <= D[i][k] + D[k][j] for i, j, k in product(range(N), repeat=3)) f4 = all(D[i][j] <= max(D[i][k], D[k][j]) for i, j, k in product(range(N), repeat=3)) print("Yes" if f1 and f2 and f3 else "No") print("Yes" if f1 and f2 and f4 else "No")