#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e2;
int x[MAXN], y[MAXN];
bool mark[10][10];
int main() {
  int r, c, n, g, ans = 0;
  cin >> r >> c >> n >> g;
  for (int i = 0; i < n; i++) {
    cin >> x[i] >> y[i];
    mark[x[i] - 1][y[i] - 1] = true;
  }
  string h;
  vector<string> zirMostatil;
  for (int i = 1; i <= r; i++) {
    for (int j = 1; j <= c; j++) {
      for (int k = 0; k < r; k++) {
        for (int m = 0; m < c; m++) {
          if (k + i <= r && m + j <= c) {
            h = "";
            for (int q = k; q < k + i; q++) {
              for (int p = m; p < m + j; p++) {
                if (mark[q][p])
                  h += '#';
                else
                  h += '*';
              }
            }
            int sharp = 0;
            for (int u = 0; u < h.length(); u++)
              if (h[u] == '#') sharp++;
            if (sharp >= g) ans++;
          }
        }
      }
    }
  }
  cout << ans << endl;
  return 0;
}
