#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9 + 7;
const int max_n = 1e5;
int seg[max_n * 2];
struct rook {
  int x, y;
  rook() {}
  rook(int x, int y) : x(x), y(y) {}
};
struct poly {
  int x1, y1, x2, y2, ind;
  poly() {}
  poly(int x1, int y1, int x2, int y2, int ind)
      : x1(x1), y1(y1), x2(x2), y2(y2), ind(ind) {}
};
void f(int ind, int val) {
  ind += max_n;
  seg[ind] = val;
  ind >>= 1;
  while (ind > 0) seg[ind] = min(seg[ind << 1], seg[ind << 1 | 1]), ind >>= 1;
}
int get(int l, int r) {
  r++;
  int ans = inf;
  for (l += max_n, r += max_n; l < r; l >>= 1, r >>= 1) {
    if (l & 1) {
      ans = min(ans, seg[l]);
      l++;
    }
    if (r & 1) {
      r--;
      ans = min(ans, seg[r]);
    }
  }
  return ans;
}
void cl() {
  for (int &i : seg) i = -1;
}
bool compa1(rook &A, rook &B) { return A.x < B.x; }
bool compa2(rook &A, rook &B) { return A.y < B.y; }
bool compb1(poly &A, poly &B) { return A.x2 < B.x2; }
bool compb2(poly &A, poly &B) { return A.y2 < B.y2; }
signed main() {
  cin.tie(0);
  cout.tie(0);
  ios_base::sync_with_stdio(0);
  int n, m, k, q;
  cin >> n >> m >> k >> q;
  vector<rook> a(k, {0, 0});
  vector<poly> b(q, {0, 0, 0, 0, 0});
  vector<bool> ans(q, 0);
  for (int i = 0; i < k; i++) cin >> a[i].x >> a[i].y, a[i].x--, a[i].y--;
  for (int i = 0; i < q; i++)
    cin >> b[i].x1 >> b[i].y1 >> b[i].x2 >> b[i].y2, b[i].x1--, b[i].x2--,
        b[i].y1--, b[i].y2--, b[i].ind = i;
  int ind = 0;
  sort(a.begin(), a.end(), compa1), sort(b.begin(), b.end(), compb1), cl();
  for (int i = 0; i < q; i++) {
    while (ind < k && a[ind].x <= b[i].x2) {
      f(a[ind].y, a[ind].x);
      ind++;
    }
    if (get(b[i].y1, b[i].y2) >= b[i].x1) ans[b[i].ind] = true;
  }
  sort(a.begin(), a.end(), compa2), sort(b.begin(), b.end(), compb2), cl(),
      ind = 0;
  for (int i = 0; i < q; i++) {
    while (ind < k && a[ind].y <= b[i].y2) {
      f(a[ind].x, a[ind].y);
      ind++;
    }
    if (get(b[i].x1, b[i].x2) >= b[i].y1) ans[b[i].ind] = true;
  }
  for (int i = 0; i < q; i++)
    if (ans[i])
      cout << "YES\n";
    else
      cout << "NO\n";
}
