import heapq H,W,Y,X = map(int, input().split()) A = [] for _ in range(H): A.append(list(map(int, input().split()))) if not(1<=H<=500 and 1<=W<=500 and len(A)==H and 1<=Y<=H and 1<=X<=W): exit() for a in A: if not (len(a)==W and 1<=min(a) and max(a)<=10**9): exit() T = [[0]*W for _ in range(H)] Y,X=Y-1,X-1 heap = [] T[Y][X]=1 V = A[Y][X] A[Y][X]=0 heapq.heappush(heap,(A[Y][X],Y,X)) HI = [1,0,-1,0] WI = [0,1,0,-1] while len(heap): v,h,w = heapq.heappop(heap) if V<=v: print('No') exit() V+=v for i in range(4): nh=h+HI[i] nw=w+WI[i] if 0<=nh