99991330 - 铲雪
Time Limit : 1 秒
Memory Limit : 128 MB
一场暴风雪袭击了小玉的家乡,将一块 N \times M 的地面覆盖了厚厚的白雪。雪花飘落在不同的位置,形成了不同的高度,h[i][j](1\leq i \leq N, 1 \leq j \leq M) 表示第 i 行,第 j 列的雪的高度。
小玉是一个发明天才,他设计了一种铲雪机器,这个机器能够在一个 2 \times 2 的雪地上,将其中一个对角线上的 1 个单位高度的雪,移动到另一个对角线上。
具体地说,使用这个铲雪机,需要在 N \times M 的雪地上选择出一个 2 \times 2 的雪地,用 f[i][j] (1 \leq i, j \leq 2) 表示所选出来的四块雪的高度。每次操作,你可以选择使得
f[1][1] 和 f[2][2] 增加 1, 同时 f[1][2] 和 f[2][1] 减少1;或者
f[1][1] 和 f[2][2] 减少 1, 同时 f[1][2] 和 f[2][1] 增加1。
小玉想要把整块 N \times M 的雪地铲平,也就是在若干次操作后,h[i][j] 的值均为同一个整数 k。请问他能否做到?
Input
输入的第一行包含两个整数 N, M(2\leq N, M \leq 100),表示地面的长和宽。
接下来 N 行,每行包含 M 个整数。代表每个位置的雪的高度。
对于所有的 i, j,1 \leq h[i][j] \leq 10000。
Output
如果小玉能够使用他的铲雪机器使得所有雪地能达到一致的高度,输出一行"Yes",否则输出一行"No"(不含引号)。
Examples
Input
3 3 2 2 2 3 1 2 1 3 2
Output
Yes