#include <bits/stdc++.h>
using namespace std;
const int maxN = 1e4;
int r, c, N, K, mat[20][20], x, y;
vector<pair<int, int> > p;
set<pair<pair<int, int>, pair<int, int> > > st;
int Get(int a, int b, int c, int d) {
  int r1 = min(a, c);
  int r2 = max(a, c);
  int c1 = min(b, d);
  int c2 = max(b, d);
  int cnt = 0;
  if (st.find({{r1, c1}, {r2, c2}}) != st.end()) return 0;
  st.insert({{r1, c1}, {r2, c2}});
  for (int i = r1; i <= r2; i++)
    for (int j = c1; j <= c2; j++) cnt += mat[i][j];
  return cnt >= K;
}
int main() {
  cin >> r >> c >> N >> K;
  for (int i = 0; i < r; i++)
    for (int j = 0; j < c; j++) p.push_back({i, j});
  for (int i = 0; i < N; i++) {
    cin >> x >> y;
    --x, --y;
    mat[x][y] = 1;
  }
  int ret = 0;
  for (int i = 0; i < p.size(); i++)
    for (int j = i; j < p.size(); j++)
      ret += Get(p[i].first, p[i].second, p[j].first, p[j].second);
  cout << ret << endl;
}
