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

题目描述

题目背景:
ZYL最近迷上了机器人,看着机器人在赛道上跑来跑去,ZYL陷入了思考......
题目描述:
现在,操场上有个机器人组成的方阵,每个机器人都有自己独一无二的编号
现在,机器人教官想让他们排整齐,即第i行第j列的机器人编号恰好等于,但教官只能发出一种指令。
指令的内容:
让方阵最外周的机器人顺时针走动一位。
例如(教官喊了一次指令):


教官可以发出这个指令任意次,请问教官能否让机器人方阵排整齐?
若能,输出YES,否则,输出NO


输入描述:

输入的第一行包含一个正整数------代表这是一个的方阵
接下来n行,每行包含n个整数------代表原方阵中第i行第j列的机器人的编号

输出描述:

 输出共一行,YES或NO.
示例1

输入

复制
2
1 2
3 4

输出

复制
YES
示例2

输入

复制
2
1 2
4 3

输出

复制
NO