明日DISCO
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

燃烧的梦想是最初的歌
相信自己其实你眼光仍清澈
就在你许下 愿望的那刻
让那天空铺上绚丽的颜色
——阿良良木健《明日DISCO》

你有一个 n+2 行,n+2 列的正方形棋盘,行和列的编号都是 0,1,\dots, n+1

这个棋盘上的每个格子都有一个数。棋盘的第 0 行、第 0 列、第 n+1 行、第 n+1 列的所有数都是 0。记坐标为 (x,y) 个格子上的数为 a_{x,y}

你可以执行任意次操作。操作有两种类型:

1. 选择一个格子 (x,y) 满足 1\le x,y\le na_{x,y} 均大于它上下左右的 4 个数,将 a_{x,y} 减去 1

2. 选择一个格子 (x,y) 满足 1\le x,y\le na_{x,y} 均小于它上下左右的 4 个数,将 a_{x,y} 加上 1

问你最后能否使得这个棋盘上的所有数均相等。

输入描述:

第一行一个数 n

接下来 n 行,每行 n 个数。第 i 行的第 j 个数表示 a_{i,j}

( 1 \le n \le 500,-10^9 \le a_{i,j} \le 10^9)

输出描述:

如果可以,请输出一行一个字符串 YES,否则输出 NO。
示例1

输入

复制
1
1

输出

复制
YES
示例2

输入

复制
2
0 0
1 1

输出

复制
NO
示例3

输入

复制
2
0 0
-1 0

输出

复制
YES

备注: