import sys import heapq input = sys.stdin.readline def main(): N, V, Ox, Oy = map(int, input().split()) L = [list(map(int, input().split())) for i in range(N)] vis = [[[False]*N for i in range(N)] for i in range(2)] Q = [(-V, 0, 0, False)] while len(Q) > 0: hp, r, c, oa = heapq.heappop(Q) hp = -hp if vis[1 if oa else 0][r][c]: continue if r == c == N-1: print('YES') return vis[1 if oa else 0][r][c] = True for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]: nr, nc = r + dx, c + dy if 0 <= nr < N and 0 <= nc < N: nhp = hp - L[nr][nc] if nhp > 0: noa = oa if not oa and (nr, nc) == (Oy-1, Ox-1): noa = True nhp *= 2 heapq.heappush(Q, (-nhp, nr, nc, noa)) print('NO') if __name__ == '__main__': main()