#include <bits/stdc++.h>
#define ll long long
#define el cout << '\n'
#define bit(mask, i) ((mask >> i) & 1)
#define BIT(n) (1ll << n)
using namespace std;
const int maxn = 5e2;
struct rectangle
{
int up, right, down, left;
bool isnll()
{
return (up == -1 && right == -1 && left == -1 && down == -1);
}
void printRect()
{
cout << up << ' ' << right << ' ' << down << ' ' << left, el;
}
};
int n, k, r, p;
ll a[maxn + 10][maxn + 10], pre[maxn + 10][maxn + 10], ans = 0;
const rectangle nllRect = {-1, -1, -1, -1};
rectangle intersect(rectangle a, rectangle b)
{
rectangle ans;
ans.left = max(a.left, b.left);
ans.right = min(a.right, b.right);
ans.up = max(a.up, b.up);
ans.down = min(a.down, b.down);
return ans;
}
ll acreage(rectangle a)
{
ll up = a.up;
ll down = a.down;
ll right = a.right;
ll left = a.left;
if (up > down || right < left) return 0;
return pre[right][down] - pre[right][up - 1] - pre[left - 1][down] + pre[left - 1][up - 1];
}
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
if (fopen("BONUS.INP", "r"))
{
freopen("BONUS.INP", "r", stdin);
freopen("BONUS.OUT", "w", stdout);
}
cin >> n >> k >> r >> p;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n; j++)
{
cin >> a[i][j];
pre[i][j] = pre[i - 1][j] + pre[i][j - 1] - pre[i - 1][j - 1] + a[i][j];
}
}
while (k--)
{
vector<rectangle> v;
for (int i = 1; i <= p; i++)
{
int l, u;
cin >> l >> u;
v.push_back({u, l + r - 1, u + r - 1, l});
}
ll s = 0;
for (int mask = 1; mask < BIT(p); mask++)
{
rectangle t = nllRect;
for (int i = 0; i < p; i++)
{
if (!bit(mask, i)) continue;
if (t.isnll()) t = v[i];
else t = intersect(t, v[i]);
}
if (__builtin_popcount(mask) & 1) s += acreage(t);
else s -= acreage(t);
}
ans = max(ans, s);
}
cout << ans;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGVsIGNvdXQgPDwgJ1xuJwojZGVmaW5lIGJpdChtYXNrLCBpKSAoKG1hc2sgPj4gaSkgJiAxKQojZGVmaW5lIEJJVChuKSAoMWxsIDw8IG4pCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IG1heG4gPSA1ZTI7CgpzdHJ1Y3QgcmVjdGFuZ2xlCnsKICAgIGludCB1cCwgcmlnaHQsIGRvd24sIGxlZnQ7CiAgICBib29sIGlzbmxsKCkKICAgIHsKICAgICAgICByZXR1cm4gKHVwID09IC0xICYmIHJpZ2h0ID09IC0xICYmIGxlZnQgPT0gLTEgJiYgZG93biA9PSAtMSk7CiAgICB9CiAgICB2b2lkIHByaW50UmVjdCgpCiAgICB7CiAgICAgICAgY291dCA8PCB1cCA8PCAnICcgPDwgcmlnaHQgPDwgJyAnIDw8IGRvd24gPDwgJyAnIDw8IGxlZnQsIGVsOwogICAgfQp9OwoKaW50IG4sIGssIHIsIHA7CmxsIGFbbWF4biArIDEwXVttYXhuICsgMTBdLCBwcmVbbWF4biArIDEwXVttYXhuICsgMTBdLCBhbnMgPSAwOwpjb25zdCByZWN0YW5nbGUgbmxsUmVjdCA9IHstMSwgLTEsIC0xLCAtMX07CgpyZWN0YW5nbGUgaW50ZXJzZWN0KHJlY3RhbmdsZSBhLCByZWN0YW5nbGUgYikKewogICAgcmVjdGFuZ2xlIGFuczsKICAgIGFucy5sZWZ0ID0gbWF4KGEubGVmdCwgYi5sZWZ0KTsKICAgIGFucy5yaWdodCA9IG1pbihhLnJpZ2h0LCBiLnJpZ2h0KTsKICAgIGFucy51cCA9IG1heChhLnVwLCBiLnVwKTsKICAgIGFucy5kb3duID0gbWluKGEuZG93biwgYi5kb3duKTsKICAgIHJldHVybiBhbnM7Cn0KbGwgYWNyZWFnZShyZWN0YW5nbGUgYSkKewogICAgbGwgdXAgPSBhLnVwOwogICAgbGwgZG93biA9IGEuZG93bjsKICAgIGxsIHJpZ2h0ID0gYS5yaWdodDsKICAgIGxsIGxlZnQgPSBhLmxlZnQ7CiAgICBpZiAodXAgPiBkb3duIHx8IHJpZ2h0IDwgbGVmdCkgcmV0dXJuIDA7CiAgICByZXR1cm4gcHJlW3JpZ2h0XVtkb3duXSAtIHByZVtyaWdodF1bdXAgLSAxXSAtIHByZVtsZWZ0IC0gMV1bZG93bl0gKyBwcmVbbGVmdCAtIDFdW3VwIC0gMV07Cn0KCmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiAgICBpZiAoZm9wZW4oIkJPTlVTLklOUCIsICJyIikpCiAgICB7CiAgICAgICAgZnJlb3BlbigiQk9OVVMuSU5QIiwgInIiLCBzdGRpbik7CiAgICAgICAgZnJlb3BlbigiQk9OVVMuT1VUIiwgInciLCBzdGRvdXQpOwogICAgfQoKICAgIGNpbiA+PiBuID4+IGsgPj4gciA+PiBwOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKQogICAgewogICAgICAgIGZvciAoaW50IGogPSAxOyBqIDw9IG47IGorKykKICAgICAgICB7CiAgICAgICAgICAgIGNpbiA+PiBhW2ldW2pdOwogICAgICAgICAgICBwcmVbaV1bal0gPSBwcmVbaSAtIDFdW2pdICsgcHJlW2ldW2ogLSAxXSAtIHByZVtpIC0gMV1baiAtIDFdICsgYVtpXVtqXTsKICAgICAgICB9CiAgICB9CiAgICB3aGlsZSAoay0tKQogICAgewogICAgICAgIHZlY3RvcjxyZWN0YW5nbGU+IHY7CiAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gcDsgaSsrKQogICAgICAgIHsKICAgICAgICAgICAgaW50IGwsIHU7CiAgICAgICAgICAgIGNpbiA+PiBsID4+IHU7CiAgICAgICAgICAgIHYucHVzaF9iYWNrKHt1LCBsICsgciAtIDEsIHUgKyByIC0gMSwgbH0pOwogICAgICAgIH0KICAgICAgICBsbCBzID0gMDsKICAgICAgICBmb3IgKGludCBtYXNrID0gMTsgbWFzayA8IEJJVChwKTsgbWFzaysrKQogICAgICAgIHsKICAgICAgICAgICAgcmVjdGFuZ2xlIHQgPSBubGxSZWN0OwogICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHA7IGkrKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYgKCFiaXQobWFzaywgaSkpIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgaWYgKHQuaXNubGwoKSkgdCA9IHZbaV07CiAgICAgICAgICAgICAgICBlbHNlIHQgPSBpbnRlcnNlY3QodCwgdltpXSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKF9fYnVpbHRpbl9wb3Bjb3VudChtYXNrKSAmIDEpIHMgKz0gYWNyZWFnZSh0KTsKICAgICAgICAgICAgZWxzZSBzIC09IGFjcmVhZ2UodCk7CiAgICAgICAgfQogICAgICAgIGFucyA9IG1heChhbnMsIHMpOwogICAgfQogICAgY291dCA8PCBhbnM7Cn0K