#include <bits/stdc++.h>

using namespace std;

long long AA[50][50][50][50];
int S[50][50][50][50];
int BB[50][50][50][50];

int A, B, C, D, N, M, K, L;

int sum(int N, int M, int K, int L) {
	int s = 0;
	for(int i = 1; i <= N; ++i)
	for(int j = 1; j <= M; ++j)
	for(int k = 1; k <= K; ++k)
	for(int l = 1; l <= L; ++l)	
		s += BB[i][j][k][l];
	return s;
}

bool check(long long x) {
	for(int i = 1; i <= N; ++i)
	for(int j = 1; j <= M; ++j)
	for(int k = 1; k <= K; ++k)
	for(int l = 1; l <= L; ++l) {
		S[i][j][k][l] = (AA[i][j][k][l] <= x);
		
		for(int c = 1; c < 16; ++c) {
	    	int sgn = 1;
	    	bool x[4];
	    	for(int t = 0; t < 4; ++t) {
	    		if(c & (1 << t)) {
	    			x[t] = 1;
	    			sgn = -sgn;
	    		} else {
	    			x[t] = 0;
	    		}
	    	}
	    	S[i][j][k][l] -= sgn * S[i-x[0]][j-x[1]][k-x[2]][l-x[3]];
	    }
	 //   cerr << i << " " << j << " " << k << " " << l << " " << S[i][j][k][l] << '\n';
	}

	for(int i = A; i <= N; ++i)
	for(int j = B; j <= M; ++j)
	for(int k = C; k <= K; ++k)
	for(int l = D; l <= L; ++l) {
		long long ans = 0;
		for(int c = 0; c < 16; ++c) {
        	int sgn = 1;
        	bool x[4];
        	for(int t = 0; t < 4; ++t) {
        		if(c & (1 << t)) {
        			x[t] = 1;
        			sgn = -sgn;
        		} else {
        			x[t] = 0;
        		}
        	}
        	ans += sgn * S[i-x[0]*A][j-x[1]*B][k-x[2]*C][l-x[3]*D];
        }
        if(ans == A * B * C * D) return true;

	}

	
	return false;
}

void Read(long long &a) {
	char c, sgn = 0;
	for(c = getchar(); !isdigit(c) && c != '-'; c = getchar());
	if(c == '-') {sgn = 1; c = getchar();}
	for(a = 0; isdigit(c); c = getchar()) {
		a = (a << 1) + (a << 3) + c - '0';
	}
	if(sgn) a = -a;
}

int main() {
	cin >> N >> M >> K >> L >> A >> B >> C >> D;

	for(int i = 1; i <= N; ++i)
	for(int j = 1; j <= M; ++j)
	for(int k = 1; k <= K; ++k)
	for(int l = 1; l <= L; ++l) {
        Read(AA[i][j][k][l]);
        AA[i][j][k][l] += 1e9 + 1;
	}


	
	long long ans = 0;
	for(long long step = (1LL << 33); step; step >>= 1LL) {
		if(!check(ans + step))
			ans += step;
	}


	cout << ans - 1e9;


	return 0;
}