#include <bits/stdc++.h>
using namespace std;
#define int long long
const int MAXN = 3000;
int n, m, p, k;
vector<int> vec[MAXN + 5];
int s[MAXN + 5], t[MAXN + 5];
int lst[MAXN + 5], nxt[MAXN + 5];
signed main() {
scanf("%lld%lld%lld%lld", &n, &m, &p, &k);
for (int i = 1; i <= p; i ++) {
int x, y; scanf("%lld%lld", &x, &y);
vec[x].push_back(y);
}
int ans = 0;
for (int u = n; u >= 1; u --) {
for (auto d : vec[u]) s[d] ++;
int sum = 0, cur = 0;
for (int l = 1, r = 1; l <= m; l ++) {
while (r <= m && sum < k) sum += s[r], r ++;
if (sum < k) break;
cur += m - r + 2;
sum -= s[l];
}
for (int i = 1; i <= m; i ++) t[i] = s[i];
for (int i = 0; i <= m + 1; i ++) lst[i] = i - 1, nxt[i] = i + 1;
for (int i = 1; i <= m; i ++) {
if (!s[i]) {
nxt[lst[i]] = nxt[i];
lst[nxt[i]] = lst[i];
}
}
for (int d = n; d >= u; d --) {
ans += cur;
for (int i : vec[d]) {
int sl = t[i], sr = 0;
int l = i, r = nxt[i];
while (r <= m && sl + sr < k) {
sr += t[r];
r = nxt[r];
}
while (1) {
if (sl + sr == k) cur -= (l - lst[l]) * (r - lst[r]);
l = lst[l]; sl += t[l];
if (sl > k || l == 0) break;
while (sl + sr > k) {
r = lst[r];
sr -= t[r];
}
}
t[i] -- ;
if (t[i] == 0) {
nxt[lst[i]] = nxt[i];
lst[nxt[i]] = lst[i];
}
}
}
}
printf("%lld", ans);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwpjb25zdCBpbnQgTUFYTiA9IDMwMDA7CmludCBuLCBtLCBwLCBrOwp2ZWN0b3I8aW50PiB2ZWNbTUFYTiArIDVdOwppbnQgc1tNQVhOICsgNV0sIHRbTUFYTiArIDVdOwppbnQgbHN0W01BWE4gKyA1XSwgbnh0W01BWE4gKyA1XTsKc2lnbmVkIG1haW4oKSB7CglzY2FuZigiJWxsZCVsbGQlbGxkJWxsZCIsICZuLCAmbSwgJnAsICZrKTsKCWZvciAoaW50IGkgPSAxOyBpIDw9IHA7IGkgKyspIHsKCQlpbnQgeCwgeTsgc2NhbmYoIiVsbGQlbGxkIiwgJngsICZ5KTsKCQl2ZWNbeF0ucHVzaF9iYWNrKHkpOwoJfQoJaW50IGFucyA9IDA7Cglmb3IgKGludCB1ID0gbjsgdSA+PSAxOyB1IC0tKSB7CgkJZm9yIChhdXRvIGQgOiB2ZWNbdV0pIHNbZF0gKys7CgkJaW50IHN1bSA9IDAsIGN1ciA9IDA7CgkJZm9yIChpbnQgbCA9IDEsIHIgPSAxOyBsIDw9IG07IGwgKyspIHsKCgkJCXdoaWxlIChyIDw9IG0gJiYgc3VtIDwgaykgc3VtICs9IHNbcl0sIHIgKys7CiAgICAgICAgICAgIGlmIChzdW0gPCBrKSBicmVhazsKCQkJY3VyICs9IG0gLSByICsgMjsKCQkJc3VtIC09IHNbbF07CgkJfQoJCWZvciAoaW50IGkgPSAxOyBpIDw9IG07IGkgKyspIHRbaV0gPSBzW2ldOwoJCWZvciAoaW50IGkgPSAwOyBpIDw9IG0gKyAxOyBpICsrKSBsc3RbaV0gPSBpIC0gMSwgbnh0W2ldID0gaSArIDE7CgkJZm9yIChpbnQgaSA9IDE7IGkgPD0gbTsgaSArKykgewoJCQlpZiAoIXNbaV0pIHsKCQkJCW54dFtsc3RbaV1dID0gbnh0W2ldOwoJCQkJbHN0W254dFtpXV0gPSBsc3RbaV07CgkJCX0KCQl9CgkJZm9yIChpbnQgZCA9IG47IGQgPj0gdTsgZCAtLSkgewoJCQlhbnMgKz0gY3VyOwoJCQlmb3IgKGludCBpIDogdmVjW2RdKSB7CgkJCQlpbnQgc2wgPSB0W2ldLCBzciA9IDA7CgkJCQlpbnQgbCA9IGksIHIgPSBueHRbaV07CgkJCQl3aGlsZSAociA8PSBtICYmIHNsICsgc3IgPCBrKSB7CiAgICAgICAgICAgICAgICAgICAgc3IgKz0gdFtyXTsKCQkJCQlyID0gbnh0W3JdOwoJCQkJfQoKCQkJCXdoaWxlICgxKSB7CgkJCQkJaWYgKHNsICsgc3IgPT0gaykgY3VyIC09IChsIC0gbHN0W2xdKSAqIChyIC0gbHN0W3JdKTsKCQkJCQlsID0gbHN0W2xdOyBzbCArPSB0W2xdOwoJCQkJCWlmIChzbCA+IGsgfHwgbCA9PSAwKSBicmVhazsKCQkJCQl3aGlsZSAoc2wgKyBzciA+IGspIHsKICAgICAgICAgICAgICAgICAgICAgICAgciA9IGxzdFtyXTsKCQkJCQkJc3IgLT0gdFtyXTsKCQkJCQl9CgkJCQl9CgoJCQkJdFtpXSAtLSA7CgkJCQlpZiAodFtpXSA9PSAwKSB7CgkJCQkJbnh0W2xzdFtpXV0gPSBueHRbaV07CgkJCQkJbHN0W254dFtpXV0gPSBsc3RbaV07CgkJCQl9CgkJCX0KCQl9Cgl9CglwcmludGYoIiVsbGQiLCBhbnMpOwoJcmV0dXJuIDA7Cn0K