from heapq import heappush, heappop N,V,Ox,Oy=map(int,raw_input().split()) L=[[0 for i in range(N)] for j in range(N)] for i in range(N): L[i] = map(int,raw_input().split()) P=[[[-1 for k in range(2)] for i in range(N)] for j in range(N)] pq=[] heappush(pq,(V,0,0,0)) d1 = [1,0,-1,0] d2 = [0,1,0,-1] while len(pq) != 0: power,x,y,used = heappop(pq) if power < P[x][y][used]: continue P[x][y][used]=power if (x,y)==(N-1,N-1): print "YES" exit() for dx,dy in zip(d1,d2): nx = x+dx ny = y+dy; if nx>=0 and ny >= 0 and nx 0: npower=power-L[nx][ny] nused = used if (nx+1,ny+1)==(Ox,Oy) and used==0: npower*=2 nused = 1 if npower > P[nx][ny][nused]: P[nx][ny][nused]=npower heappush(pq,(npower,nx,ny,nused)) print "NO"