#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
struct data {
  int x, y, l, r, id;
};
bool cmp(data u, data v) { return u.x < v.x || (u.x == v.x && u.l > v.l); }
data qu[8 * N], longxamlon[8 * N];
int it[8 * N], n, m, k, Q, ans[8 * N];
void update(int node, int l, int r, int p, int val) {
  if (l > p || r < p) return;
  if (l == r) {
    it[node] = val;
    return;
  }
  update(node * 2, l, (l + r) / 2, p, val);
  update(node * 2 + 1, (l + r) / 2 + 1, r, p, val);
  it[node] = max(it[node * 2], it[node * 2 + 1]);
}
int get(int node, int l, int r, int p, int q) {
  if (l > q || r < p) return 0;
  if (p <= l && r <= q) return it[node];
  return max(get(node * 2, l, (l + r) / 2, p, q),
             get(node * 2 + 1, (l + r) / 2 + 1, r, p, q));
}
set<int> mn[N];
void solve() {
  memset(it, 0, sizeof it);
  for (int i = 1; i <= m; ++i) mn[i].clear();
  for (int i = 1; i <= k + Q; ++i) qu[i] = longxamlon[i];
  for (int i = 1; i <= k; ++i) mn[qu[i].y].insert(qu[i].x);
  for (int i = 1; i <= m; ++i) mn[i].insert(1e9);
  for (int i = 1; i <= m; ++i) update(1, 1, m, i, *mn[i].begin());
  sort(qu + 1, qu + k + Q + 1, cmp);
  for (int i = 1; i <= k + Q; ++i) {
    if (qu[i].l == -1)
      mn[qu[i].y].erase(mn[qu[i].y].begin()),
          update(1, 1, m, qu[i].y, *mn[qu[i].y].begin());
    else if (get(1, 1, m, qu[i].l, qu[i].r) <= qu[i].y)
      ans[qu[i].id] |= 1;
  }
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> m >> k >> Q;
  for (int i = 1; i <= k; ++i)
    cin >> longxamlon[i].x >> longxamlon[i].y, longxamlon[i].l = -1;
  for (int i = 1; i <= Q; ++i)
    cin >> longxamlon[i + k].x >> longxamlon[i + k].l >> longxamlon[i + k].y >>
        longxamlon[i + k].r,
        longxamlon[i + k].id = i;
  solve();
  for (int i = 1; i <= k; ++i) swap(longxamlon[i].x, longxamlon[i].y);
  for (int i = 1; i <= Q; ++i)
    swap(longxamlon[i + k].x, longxamlon[i + k].l),
        swap(longxamlon[i + k].y, longxamlon[i + k].r);
  swap(n, m);
  solve();
  for (int i = 1; i <= Q; ++i)
    if (ans[i])
      cout << "YES\n";
    else
      cout << "NO\n";
}
