#include <bits/stdc++.h>
using namespace std;
int main() {
  int N, M, a, b;
  scanf("%d %d", &N, &M);
  int A[N][M];
  for (int i = int(0); i < int(N); i++) {
    for (int j = int(0); j < int(M); j++) {
      scanf("%d", &A[i][j]);
    }
  }
  scanf("%d %d", &a, &b);
  int ans = INT32_MAX;
  for (int i = int(0); i < int(N); i++) {
    for (int j = int(0); j < int(M); j++) {
      int x = INT32_MAX, y = INT32_MAX;
      if ((i + a - 1) < N && (j + b - 1) < M) {
        x = 0;
        for (int k = int(i); k < int(i + a); k++) {
          for (int l = int(j); l < int(j + b); l++) {
            x += A[k][l];
          }
        }
      }
      if ((i + b - 1) < N && (j + a - 1) < M) {
        y = 0;
        for (int k = int(i); k < int(i + b); k++) {
          for (int l = int(j); l < int(j + a); l++) {
            y += A[k][l];
          }
        }
      }
      ans = min(ans, min(x, y));
    }
  }
  printf("%d\n", ans);
  return 0;
}
