#include #include #include using namespace std; int n,x1,y1,x2,y2,k; int a[1024][1024]; queue qx,qy,qbr; void read() { fstream fin; fin.open("chess.in",fstream::in|fstream::binary); fin>>n>>k>>x1>>y1>>x2>>y2; for(int i=0;i>l; if(l==0) { a[i][j]=-1; } else { a[i][j]=-2; } } } fin.close(); a[x1-1][y1-1]=0; } void enknite(int x,int y,int br) { if(a[x-1][y-2]==-1) { a[x-1][y-2]=br; qx.push(x-1); qy.push(y-2); qbr.push(br+1); } if(a[x-2][y-1]==-1) { a[x-2][y-1]=br; qx.push(x-2); qy.push(y-1); qbr.push(br+1); } if(a[x-2][y+1]==-1) { a[x-2][y+1]=br; qx.push(x-2); qy.push(y+1); qbr.push(br+1); } if(a[x-1][y+2]==-1) { a[x-1][y+2]=br; qx.push(x-1); qy.push(y+2); qbr.push(br+1); } if(a[x+1][y+2]==-1) { a[x+1][y+2]=br; qx.push(x+1); qy.push(y+2); qbr.push(br+1); } if(a[x+2][y+1]==-1) { a[x+2][y+1]=br; qx.push(x+2); qy.push(y+1); qbr.push(br+1); } if(a[x+2][y-1]==-1) { a[x+2][y-1]=br; qx.push(x+2); qy.push(y-1); qbr.push(br+1); } if(a[x+1][y-2]==-1) { a[x+1][y-2]=br; qx.push(x+1); qy.push(y-2); qbr.push(br+1); } return ; } int main () { read(); qx.push(x1-1); qy.push(y1-1); qbr.push(1); while(!qx.empty()){ enknite(qx.front(),qy.front(),qbr.front()); qx.pop(); qy.pop(); qbr.pop(); } fstream fout; fout.open("chess.out",fstream::out|fstream::binary); if(a[x2-1][y2-1]==k) { fout<<"YES"<