2257: 开场白

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:12 Solved:0

Description

给你一个n行n列的由1到n*n构成的数字方阵,其中1到n*n每个数恰好出现一次,并且已知这个数字方阵的每一行每一列的数之和都等于定值n*(n*n+1)/2。现在要你验证它的两条对角线上的数之和是否都等于定值n*(n*n+1)/2。如果满足这一条件则这个数字方阵就是传说中的幻方了。


Input

第一行读入一个正整数n,n<10。从第2行到第n+1行每行读入n个正整数,相邻两数间用空格隔开。输入数据保证1到n*n每个数恰好出现一次,并且这个数字方阵的每一行每一列的数之和都等于定值n*(n*n+1)/2。


Sample Input Copy

输入样例1

3

6 1 8

7 5 3

2 9 4


输入样例2

4

1 15 14 4

12 6 7 9

13 3 2 16

8 10 11 5

Sample Output Copy

输出样例1
Yes
输出样例2
No

HINT

主对角线上所有位置的元素所在的行和列是相等的,反对角线上所有位置的元素所在的行和列相加等于n+1。

样例解释:样例1中主对角线上3个数分别是654,它们的和等于15=3*(3*3+1)/2,反对角线上3个数分别是852,它们的和也等于15,因此输入的方阵是一个传说中的幻方。

样例2中主对角线上4个数分别是1625,它们的和是14不等于4*(4*4+1)/2,因此输入的方阵不是幻方。

Source/Category