n = int(input())
metrix = [list(map(int,input().split())) for _ in range(n)]
#数据输入及初始化
def isutm(n,metrix):
    for i in range(n):
        for j in range(i):
            if metrix[i][j] != 0:
                return False
    return True
#自函数查找判断是否为上三角矩阵
print('YES' if isutm(n,metrix) else 'NO')
#是则输出YES,否则输出NO