#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const int INF = 1e9;
const ll LINF = 1e18;
const int N = 4e2 + 5;
int n, m, k, s;
int sum[N][N], sum_s[N][N], sum_s1[N][N];
int a[N], dp[N];
void build(int sum[N][N]) {
for (int x = 1; x <= n; x++) {
for (int y = 1; y <= m; y++) {
sum[x][y] = sum[x - 1][y] + sum[x][y - 1] - sum[x - 1][y - 1] + sum[x][y];
}
}
}
void update(int sum[N][N], int x1, int y1, int x2, int y2, int i) {
sum[x1][y1] += i;
sum[x2 + 1][y1] -= i;
sum[x1][y2 + 1] -= i;
sum[x2 + 1][y2 + 1] += i;
}
ll getSum(int sum[N][N], int x1, int y1, int x2, int y2) {
return sum[x2][y2] - sum[x1 - 1][y2] - sum[x2][y1 - 1] + sum[x1 - 1][y1 - 1];
}
int main() {
ios::sync_with_stdio(0); cin.tie(0);
cin >> n >> m >> k >> s;
while (k--) {
int x, y, u, v;
cin >> x >> y >> u >> v;
update(sum, x, y, u, v, 1);
}
build(sum);
// sum[x][y] là số siêu thị phục vụ khu vực (x, y)
int num_happy = 0;
for (int x = 1; x <= n; x++) {
for (int y = 1; y <= m; y++) {
num_happy += (sum[x][y] == s);
sum_s[x][y] = (sum[x][y] == s);
sum_s1[x][y] = (sum[x][y] == s - 1);
}
}
build(sum_s);
build(sum_s1);
// mở thêm siêu thị mới
int ans = 0;
// for (int x1 = 1; x1 <= n; x1++) {
// for (int y1 = 1; y1 <= m; y1++) {
// for (int x2 = x1; x2 <= n; x2++) {
// for (int y2 = y1; y2 <= m; y2++) {
// // đếm trong hình chữ nhật (x1, y1, x2, y2)
// // có bao nhiêu giá trị = s và = s - 1
// int cnt_s = getSum(sum_s, x1, y1, x2, y2);
// int cnt_s1 = getSum(sum_s1, x1, y1, x2, y2);
// int new_num_happy = num_happy - cnt_s + cnt_s1;
// ans = max(ans, new_num_happy);
// }
// }
// }
// }
for (int x1 = 1; x1 <= n; x1++) {
for (int x2 = x1; x2 <= n; x2++) {
for (int y = 1; y <= m; y++) {
a[y] = -getSum(sum_s, x1, y, x2, y) + getSum(sum_s1, x1, y, x2, y);
}
int mx = -INF;
for (int y = 1; y <= m; y++) {
dp[y] = max(a[y], a[y] + dp[y - 1]);
mx = max(mx, dp[y]);
}
ans = max(ans, num_happy + mx);
}
}
cout << ans << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAp1c2luZyBuYW1lc3BhY2Ugc3RkOyAgCgp0eXBlZGVmIGxvbmcgbG9uZyBsbDsgIAp0eXBlZGVmIHBhaXI8aW50LCBpbnQ+IGlpOyAgCgpjb25zdCBpbnQgSU5GID0gMWU5OyAgCmNvbnN0IGxsIExJTkYgPSAxZTE4OyAgCgpjb25zdCBpbnQgTiA9IDRlMiArIDU7ICAKCmludCBuLCBtLCBrLCBzOwppbnQgc3VtW05dW05dLCBzdW1fc1tOXVtOXSwgc3VtX3MxW05dW05dOyAKCmludCBhW05dLCBkcFtOXTsgCgp2b2lkIGJ1aWxkKGludCBzdW1bTl1bTl0pIHsKICAgIGZvciAoaW50IHggPSAxOyB4IDw9IG47IHgrKykgewogICAgICAgIGZvciAoaW50IHkgPSAxOyB5IDw9IG07IHkrKykgewogICAgICAgICAgICBzdW1beF1beV0gPSBzdW1beCAtIDFdW3ldICsgc3VtW3hdW3kgLSAxXSAtIHN1bVt4IC0gMV1beSAtIDFdICsgc3VtW3hdW3ldOyAgCiAgICAgICAgfQogICAgfQp9Cgp2b2lkIHVwZGF0ZShpbnQgc3VtW05dW05dLCBpbnQgeDEsIGludCB5MSwgaW50IHgyLCBpbnQgeTIsIGludCBpKSB7CiAgICBzdW1beDFdW3kxXSArPSBpOyAgCiAgICBzdW1beDIgKyAxXVt5MV0gLT0gaTsgIAogICAgc3VtW3gxXVt5MiArIDFdIC09IGk7ICAgIAogICAgc3VtW3gyICsgMV1beTIgKyAxXSArPSBpOyAgCn0KCmxsIGdldFN1bShpbnQgc3VtW05dW05dLCBpbnQgeDEsIGludCB5MSwgaW50IHgyLCBpbnQgeTIpIHsKICAgIHJldHVybiBzdW1beDJdW3kyXSAtIHN1bVt4MSAtIDFdW3kyXSAtIHN1bVt4Ml1beTEgLSAxXSArIHN1bVt4MSAtIDFdW3kxIC0gMV07Cn0KCmludCBtYWluKCkgewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7ICAgIAogICAgY2luID4+IG4gPj4gbSA+PiBrID4+IHM7IAoKICAgIHdoaWxlIChrLS0pIHsKICAgICAgICBpbnQgeCwgeSwgdSwgdjsgIAogICAgICAgIGNpbiA+PiB4ID4+IHkgPj4gdSA+PiB2OyAKICAgICAgICB1cGRhdGUoc3VtLCB4LCB5LCB1LCB2LCAxKTsgCiAgICB9CgogICAgYnVpbGQoc3VtKTsgCgogICAgLy8gc3VtW3hdW3ldIGzDoCBz4buRIHNpw6p1IHRo4buLIHBo4bulYyB24bulIGtodSB24buxYyAoeCwgeSkKICAgIGludCBudW1faGFwcHkgPSAwOyAgCiAgICBmb3IgKGludCB4ID0gMTsgeCA8PSBuOyB4KyspIHsKICAgICAgICBmb3IgKGludCB5ID0gMTsgeSA8PSBtOyB5KyspIHsKICAgICAgICAgICAgbnVtX2hhcHB5ICs9IChzdW1beF1beV0gPT0gcyk7IAogICAgICAgICAgICBzdW1fc1t4XVt5XSA9IChzdW1beF1beV0gPT0gcyk7IAogICAgICAgICAgICBzdW1fczFbeF1beV0gPSAoc3VtW3hdW3ldID09IHMgLSAxKTsgCiAgICAgICAgfQogICAgfQoKICAgIGJ1aWxkKHN1bV9zKTsgCiAgICBidWlsZChzdW1fczEpOyAKCiAgICAvLyBt4bufIHRow6ptIHNpw6p1IHRo4buLIG3hu5tpIAogICAgaW50IGFucyA9IDA7ICAKICAgIC8vIGZvciAoaW50IHgxID0gMTsgeDEgPD0gbjsgeDErKykgewogICAgLy8gIGZvciAoaW50IHkxID0gMTsgeTEgPD0gbTsgeTErKykgewogICAgLy8gICAgICBmb3IgKGludCB4MiA9IHgxOyB4MiA8PSBuOyB4MisrKSB7CiAgICAvLyAgICAgICAgICBmb3IgKGludCB5MiA9IHkxOyB5MiA8PSBtOyB5MisrKSB7CiAgICAvLyAgICAgICAgICAgICAgLy8gxJHhur9tIHRyb25nIGjDrG5oIGNo4buvIG5o4bqtdCAoeDEsIHkxLCB4MiwgeTIpIAogICAgLy8gICAgICAgICAgICAgIC8vIGPDsyBiYW8gbmhpw6p1IGdpw6EgdHLhu4sgPSBzIHbDoCA9IHMgLSAxCiAgICAvLyAgICAgICAgICAgICAgaW50IGNudF9zID0gZ2V0U3VtKHN1bV9zLCB4MSwgeTEsIHgyLCB5Mik7IAogICAgLy8gICAgICAgICAgICAgIGludCBjbnRfczEgPSBnZXRTdW0oc3VtX3MxLCB4MSwgeTEsIHgyLCB5Mik7ICAgICAgICAgICAgCgogICAgLy8gICAgICAgICAgICAgIGludCBuZXdfbnVtX2hhcHB5ID0gbnVtX2hhcHB5IC0gY250X3MgKyBjbnRfczE7IAogICAgLy8gICAgICAgICAgICAgIGFucyA9IG1heChhbnMsIG5ld19udW1faGFwcHkpOyAKICAgIC8vICAgICAgICAgIH0KICAgIC8vICAgICAgfQogICAgLy8gIH0KICAgIC8vIH0KCiAgICBmb3IgKGludCB4MSA9IDE7IHgxIDw9IG47IHgxKyspIHsKICAgICAgICBmb3IgKGludCB4MiA9IHgxOyB4MiA8PSBuOyB4MisrKSB7CiAgICAgICAgICAgIGZvciAoaW50IHkgPSAxOyB5IDw9IG07IHkrKykgewogICAgICAgICAgICAgICAgYVt5XSA9IC1nZXRTdW0oc3VtX3MsIHgxLCB5LCB4MiwgeSkgKyBnZXRTdW0oc3VtX3MxLCB4MSwgeSwgeDIsIHkpOyAKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaW50IG14ID0gLUlORjsgCiAgICAgICAgICAgIGZvciAoaW50IHkgPSAxOyB5IDw9IG07IHkrKykgewogICAgICAgICAgICAgICAgZHBbeV0gPSBtYXgoYVt5XSwgYVt5XSArIGRwW3kgLSAxXSk7IAogICAgICAgICAgICAgICAgbXggPSBtYXgobXgsIGRwW3ldKTsgCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGFucyA9IG1heChhbnMsIG51bV9oYXBweSArIG14KTsgCiAgICAgICAgfQogICAgfQoKICAgIGNvdXQgPDwgYW5zIDw8ICdcbic7IAp9Cg==