#include <stdio.h> #include <math.h> int orig, n, ns, a [102][102], bun; int d[]= {1,0,-1,0,0,1,___(1)___}; void plimba(int x, int y) { int i,xx, yy; a[x][y]=-a[x][y] ; if(abs(a[x-1][y]) !=orig&&( ___(2)___ !=a[x-1][y]||abs(a[x][y-1]) !=orig)) ns++; if(abs(a[x+1][y]) !=orig&& (a[x+1][y-1]!=a[x+1][y]||abs(a[x][y-1]) !=orig)) ns++; if(abs(a[x][y-1]) !=orig&&( ___(3)___ !=a[x][y-1]||abs(a[x-1][y]) !=orig)) ns++; if(abs(a[x][y+1]) !=orig&&(a[x-1][y+1] !=a[x][y+1]||abs(a[x-1][y]) !=orig)) ns++; for(i=0; i<4 ; i++) { xx=x+d[2*i]; yy=y+___(4)___; if(xx>=1&&xx<=n&&yy>=1&&yy<=n&& ___(5)___ )plimba(xx,yy); } } int main () { int i,j; bun=1; scanf("%d",&n); for (i=0; i<=n+1; i++) for (j=0; j<=n+1; j++) a[i][j]=0; a[0][0]=-1; a[n+1][0]=-1; a[0][n+1]=-1; a[n+1][n+1]=-1; for (i=1; i<=n; i++) for (j=1; j<=n; j++) scanf("%d",&a[i][j]); for (i=1; i<=n ; i++) for(j=1; j<=n; j++) { if(a[i][j]>-1) { ns=0; ___(6)___; plimba (i,j); if(ns%2==1) bun=0; } } if (bun)printf("YES\n");else printf("NO\n"); return 0; }