def is_upper_triangular(matrix):
    n = len(matrix)
    for i in range(n):
        for j in range(i):
            if matrix[i][j] != 0:
                return "NO"
    return "YES"


n = int(input())
matrix = [list(map(int, input().split())) for _ in range(n)]
print(is_upper_triangular(matrix))