#include <bits/stdc++.h>
using namespace std;
template <class T>
T Max(T a, T b) {
  return a > b ? a : b;
}
template <class T>
T Min(T a, T b) {
  return a < b ? a : b;
}
bool stb(const string &a, const string &b) { return a.size() < b.size(); }
bool bts(const string &a, const string &b) { return a.size() > b.size(); }
bool pas(const pair<int, int> &a, const pair<int, int> &b) {
  return a.second < b.second;
}
int A[12][12];
int check(int i, int j, int p, int l) {
  int sum = 0;
  for (int k = i; k <= p; k++)
    for (int u = j; u <= l; u++)
      if (A[k][u] == 1) sum++;
  return sum;
}
int main() {
  int r, c, n, k, x, y, sum = 0;
  memset(A, 0, sizeof(A));
  cin >> r >> c >> n >> k;
  for (int i = 0; i < n; i++) {
    cin >> x >> y;
    A[x - 1][y - 1] = 1;
  }
  for (int i = 0; i < r; i++) {
    for (int j = 0; j < c; j++) {
      for (int p = i; p < r; p++) {
        for (int l = j; l < c; l++) {
          if (check(i, j, p, l) >= k) sum++;
        }
      }
    }
  }
  cout << sum;
  return 0;
}
