N,V,ox,oy=map(int,raw_input().split()) ox-=1;oy-=1 L=[] for _ in xrange(N): L.append(map(int,raw_input().split())) dxdy=zip([-1,0,1,0],[0,-1,0,1]) que=[[0,0,1]] visited=[] maxV=[[-1]*N for _ in xrange(N)] maxV[0][0]=V while que:#bfs cx,cy,count=que.pop(0) v=maxV[cy][cx] for dx,dy in dxdy: nx,ny=cx+dx,cy+dy if not(0<=nx=0: print 'YES' exit() if cx==ox and cy==oy and count>0:#oasis nv=nv*2 count-=1 if maxV[ny][nx]