#include <iostream>
using namespace std;

int M[36][36][36][36];
int n, m, k, l, a, b, c, d, i, j, t, p, minim, maxim;
int main()
{
	cin>>n>>m>>k>>l;
	cin>>a>>b>>c>>d;
	for(i=1; i<=n; i++)
	{
		for(j=1; j<=m; j++)
		{
			for(t=1; t<=k; t++)
			{
				for(p=1; p<=l; p++)
				{
					cin>>M[i][j][t][p];
				}
			}
		}
	}
	minim=1000000009;
	for(i=1; i<=n-a+1; i++)
	{
		for(j=1; j<=m-b+1; j++)
		{
			for(t=1; t<=k-c+1; t++)
			{
				for(p=1; p<=l-d+1; p++)
				{
					int xt=0, yt=0, zt=0, qt=0;
					maxim=0;
					while(xt<a)
					{
						yt=0;
						while(yt<b)
						{
							zt=0;
							while(zt<c)
							{
								qt=0;
								while(qt<d)
								{
									if(M[i+xt][j+yt][t+zt][p+qt]>maxim)
										maxim=M[i+xt][j+yt][t+zt][p+qt];
									qt++;
								}
								zt++;
							}
							yt++;
						}
						xt++;
					}
					if(maxim<minim)
						minim=maxim;
				}
			}
		}
	}
	cout<<minim;
}