package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)

func main() {
	sc := bufio.NewScanner(os.Stdin)
	sc.Scan()
	n, _ := strconv.Atoi(sc.Text())
	a := make([][]int, n)
	for i := 0; i < n; i++ {
		a[i] = make([]int, n)
	}
	f := true
	for i := 0; i < n; i++ {
		sc.Scan()
		s := strings.Fields(sc.Text())
		for j := 0; j < i; j++ {
			if s[j] != "0" {
				f = false
				break
			}
		}
	}
	if f {
		fmt.Print("YES")
	} else {
		fmt.Print("NO")
	}
}