import heapq H,W,y,x = map(int,input().split()) y -= 1 x -= 1 A = [list(map(int,input().split())) for _ in range(H)] amax = 0 for i in range(H): amax = max(amax,max(A[i])) tot = A[y][x] B = [[0 for _ in range(W)] for _ in range(H)] B[y][x] = 1 heap = [] for dy,dx in [[-1,0],[1,0],[0,-1],[0,1]]: ny = y + dy nx = x + dx if 0 <= ny < H and 0 <= nx < W and B[ny][nx] ==0: B[ny][nx] = 1 heapq.heappush(heap,(A[ny][nx],ny,nx)) ans = "No" while heap: a,i,j = heapq.heappop(heap) if tot<=a:break tot += a for di,dj in [[-1,0],[1,0],[0,-1],[0,1]]: ni = i + di nj = j + dj if 0 <= ni < H and 0 <= nj < W and B[ni][nj] ==0: B[ni][nj] = 1 heapq.heappush(heap,(A[ni][nj],ni,nj)) if tot>amax: ans = "Yes" break print(ans)