#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef string str;
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define all(x) (x).begin(), (x).end()
#define len(x) ((int)(x).size())
#define forn(i, n) for (int i = 0; i < (int)(n); ++i)
#define forr(i, l, r) for (int i = (int)(l); i <= (int)(r); ++i)
#define ford(i, r, l) for (int i = (int)(r); i >= (int)(l); --i)
#define cmin(a, b) a = min(a, b)
#define cmax(a, b) a = max(a, b)
const ll INF = 1e18;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
// freopen("CAU4_17.INP", "r", stdin);
// freopen("CAU4_17.OUT", "w", stdout);
int m, n, d, r;
ll h;
if (!(cin >> m >> n >> d >> r >> h)) return 0;
vector<vll> P(m + 1, vll(n + 1, 0));
forr(i, 1, m) {
forr(j, 1, n) {
ll val;
cin >> val;
ll cost = abs(val - h);
P[i][j] = cost + P[i - 1][j] + P[i][j - 1] - P[i - 1][j - 1];
}
}
ll min_cost = INF;
auto get_sum = [&](int x1, int y1, int x2, int y2) {
return P[x2][y2] - P[x1 - 1][y2] - P[x2][y1 - 1] + P[x1 - 1][y1 - 1];
};
if (r <= m && d <= n) {
forr(i, r, m) {
forr(j, d, n) {
ll current_cost = get_sum(i - r + 1, j - d + 1, i, j);
cmin(min_cost, current_cost);
}
}
}
if (d <= m && r <= n) {
forr(i, d, m) {
forr(j, r, n) {
ll current_cost = get_sum(i - d + 1, j - r + 1, i, j);
cmin(min_cost, current_cost);
}
}
}
if (min_cost == INF) {
cout << -1 << "\n";
} else {
cout << min_cost << "\n";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIHVsbDsKdHlwZWRlZiBwYWlyPGludCwgaW50PiBwaWk7CnR5cGVkZWYgcGFpcjxsbCwgbGw+IHBsbDsKdHlwZWRlZiB2ZWN0b3I8aW50PiB2aTsKdHlwZWRlZiB2ZWN0b3I8bGw+IHZsbDsKdHlwZWRlZiBzdHJpbmcgc3RyOwoKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBtcCBtYWtlX3BhaXIKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIGFsbCh4KSAoeCkuYmVnaW4oKSwgKHgpLmVuZCgpCiNkZWZpbmUgbGVuKHgpICgoaW50KSh4KS5zaXplKCkpCgojZGVmaW5lIGZvcm4oaSwgbikgZm9yIChpbnQgaSA9IDA7IGkgPCAoaW50KShuKTsgKytpKQojZGVmaW5lIGZvcnIoaSwgbCwgcikgZm9yIChpbnQgaSA9IChpbnQpKGwpOyBpIDw9IChpbnQpKHIpOyArK2kpCiNkZWZpbmUgZm9yZChpLCByLCBsKSBmb3IgKGludCBpID0gKGludCkocik7IGkgPj0gKGludCkobCk7IC0taSkKCiNkZWZpbmUgY21pbihhLCBiKSBhID0gbWluKGEsIGIpCiNkZWZpbmUgY21heChhLCBiKSBhID0gbWF4KGEsIGIpCgpjb25zdCBsbCBJTkYgPSAxZTE4OwoKaW50IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7CgogICAgLy8gZnJlb3BlbigiQ0FVNF8xNy5JTlAiLCAiciIsIHN0ZGluKTsKICAgIC8vIGZyZW9wZW4oIkNBVTRfMTcuT1VUIiwgInciLCBzdGRvdXQpOwoKICAgIGludCBtLCBuLCBkLCByOwogICAgbGwgaDsKICAgIGlmICghKGNpbiA+PiBtID4+IG4gPj4gZCA+PiByID4+IGgpKSByZXR1cm4gMDsKCiAgICB2ZWN0b3I8dmxsPiBQKG0gKyAxLCB2bGwobiArIDEsIDApKTsKCiAgICBmb3JyKGksIDEsIG0pIHsKICAgICAgICBmb3JyKGosIDEsIG4pIHsKICAgICAgICAgICAgbGwgdmFsOwogICAgICAgICAgICBjaW4gPj4gdmFsOwogICAgICAgICAgICBsbCBjb3N0ID0gYWJzKHZhbCAtIGgpOwogICAgICAgICAgICBQW2ldW2pdID0gY29zdCArIFBbaSAtIDFdW2pdICsgUFtpXVtqIC0gMV0gLSBQW2kgLSAxXVtqIC0gMV07CiAgICAgICAgfQogICAgfQoKICAgIGxsIG1pbl9jb3N0ID0gSU5GOwoKICAgIGF1dG8gZ2V0X3N1bSA9IFsmXShpbnQgeDEsIGludCB5MSwgaW50IHgyLCBpbnQgeTIpIHsKICAgICAgICByZXR1cm4gUFt4Ml1beTJdIC0gUFt4MSAtIDFdW3kyXSAtIFBbeDJdW3kxIC0gMV0gKyBQW3gxIC0gMV1beTEgLSAxXTsKICAgIH07CgogICAgaWYgKHIgPD0gbSAmJiBkIDw9IG4pIHsKICAgICAgICBmb3JyKGksIHIsIG0pIHsKICAgICAgICAgICAgZm9ycihqLCBkLCBuKSB7CiAgICAgICAgICAgICAgICBsbCBjdXJyZW50X2Nvc3QgPSBnZXRfc3VtKGkgLSByICsgMSwgaiAtIGQgKyAxLCBpLCBqKTsKICAgICAgICAgICAgICAgIGNtaW4obWluX2Nvc3QsIGN1cnJlbnRfY29zdCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgaWYgKGQgPD0gbSAmJiByIDw9IG4pIHsKICAgICAgICBmb3JyKGksIGQsIG0pIHsKICAgICAgICAgICAgZm9ycihqLCByLCBuKSB7CiAgICAgICAgICAgICAgICBsbCBjdXJyZW50X2Nvc3QgPSBnZXRfc3VtKGkgLSBkICsgMSwgaiAtIHIgKyAxLCBpLCBqKTsKICAgICAgICAgICAgICAgIGNtaW4obWluX2Nvc3QsIGN1cnJlbnRfY29zdCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgaWYgKG1pbl9jb3N0ID09IElORikgewogICAgICAgIGNvdXQgPDwgLTEgPDwgIlxuIjsKICAgIH0gZWxzZSB7CiAgICAgICAgY291dCA8PCBtaW5fY29zdCA8PCAiXG4iOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==