// // main.cpp // porb2_3 // // Created by Nasca Sergiu Alin on 14/05/16. // Copyright © 2016 Nasca Sergiu Alin. All rights reserved. // #include using namespace std; int main() { int v[40][40][40][40]; int N, M, K, L; int a, b, c, d; int minim = (1 << 30); int maxim; cin >> N >> M >> K >> L; cin >> 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++) cin >> v[i][j][k][l]; for(int i=1; i<=N-a; ++i) { for(int j=1; j<=M-b; j++) { for(int k=1; k<=K-c; k++) { for(int l=1; l<=L-d; l++) { maxim = -(1 << 30); for(int q=0; i<=a; ++q) { for(int w=0; j<=b; w++) { for(int e=0; k<=c; e++) { for(int r=0; l<=d; r++) { if(v[q][w][e][r] > maxim) { maxim = v[q][w][e][r]; } } } } } if(maxim < minim) { minim = maxim; } } } } } cout << minim; return 0; }