#include <bits/stdc++.h>
using namespace std;
const int MAXN = 50 + 10, INF = 1000 * 1000 * 1000;
int n, m, x[2], a[MAXN][MAXN], ans = INF, z;
int f(int k, int q, int l) {
  int ret = 0;
  for (int i = k; i < k + x[l]; i++)
    for (int j = q; j < q + x[!l]; j++) ret += a[i][j];
  return ret;
}
int main() {
  ios::sync_with_stdio(false);
  cin >> n >> m;
  for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++) cin >> a[i][j];
  cin >> x[0] >> x[1];
  for (int i = 0; i < n - x[0] + 1; i++)
    for (int j = 0; j < m - x[1] + 1; j++)
      ans = ((z = f(i, j, 0)) < ans ? z : ans);
  for (int i = 0; i < n - x[1] + 1; i++)
    for (int j = 0; j < m - x[0] + 1; j++)
      ans = ((z = f(i, j, 1)) < ans ? z : ans);
  cout << ans << endl;
  return 0;
}
