#include "bits/stdc++.h" #define REP(i,n,N) for(ll i=(n); i<(N); i++) #define RREP(i,n,N) for(ll i=(N-1); i>=n; i--) #define CK(n,a,b) ((a)<=(n)&&(n)<(b)) #define ALL(v) (v).begin(),(v).end() #define p(s) cout<<(s)<>a[i][j]; if(a[i][j]==0){ y=i; x=j; } } } string ans="Yes"; REP(i,0,16){ if(y==3&&x==3) break; bool f=false; REP(k,0,4){ int ny=y+dy[k]; int nx=x+dx[k]; if(!CK(ny,0,4)||!CK(nx,0,4)) continue; if(a[ny][nx]==y*4+x+1){ swap(a[ny][nx],a[y][x]); y=ny; x=nx; f=true; break; } } if(!f){ ans="No"; break; } } REP(i,0,4){ REP(j,0,4){ if(i==3&&j==3) break; if(a[i][j]!=i*4+j+1){ ans="No"; } } } p(ans); return 0; }