#include <bits/stdc++.h>
using namespace std;
long long read() {
  long long x = 0, f = 1;
  char c = getchar();
  while (c > '9' || c < '0') {
    if (c == '-') f = -1;
    c = getchar();
  }
  while (c >= '0' && c <= '9') {
    x = x * 10 + c - '0';
    c = getchar();
  }
  return f * x;
}
set<int> S;
int n, m, k, root[100003 * 3], num, cnt;
struct node {
  int l, r, bel, re;
} st[100003 * 3];
struct TREE {
  int son[2], mx;
} tr[100003 * 60];
bool operator<(node a, node b) { return a.l < b.l; }
void pushup(int x) {
  int l = tr[x].son[0], r = tr[x].son[1];
  tr[x].mx = max(tr[l].mx, tr[r].mx);
}
void insert(int &rt1, int rt2, int l, int r, int wei, int k) {
  tr[rt1 = ++cnt] = tr[rt2];
  if (l == r) {
    tr[rt1].mx = min(tr[rt1].mx, k);
    return;
  }
  int mid = l + r >> 1;
  if (wei <= mid)
    insert(tr[rt1].son[0], tr[rt2].son[0], l, mid, wei, k);
  else
    insert(tr[rt1].son[1], tr[rt2].son[1], mid + 1, r, wei, k);
  pushup(rt1);
}
int query(int rt, int l, int r, int first, int end) {
  if (first <= l && r <= end) return tr[rt].mx;
  int mid = l + r >> 1, ans = 0;
  if (first <= mid) ans = max(ans, query(tr[rt].son[0], l, mid, first, end));
  if (end > mid) ans = max(ans, query(tr[rt].son[1], mid + 1, r, first, end));
  return ans;
}
int main() {
  tr[0].mx = 2e9;
  n = read(), m = read();
  k = read();
  for (int i = 1; i <= k; ++i) {
    st[i].l = read(), st[i].r = read(), st[i].bel = read();
  }
  sort(st + 1, st + 1 + k);
  for (int i = k; i >= 1; --i) {
    if (i == k || st[i].l != st[i + 1].l) num++, root[num] = root[num - 1];
    st[i].re = num;
    insert(root[num], root[num], 1, n, st[i].bel, st[i].r);
  }
  int a, b, x, y;
  while (m--) {
    a = read(), b = read(), x = read(), y = read();
    int pos = lower_bound(st + 1, st + 1 + k, (node){x, 0, 0, 0}) - st;
    if (pos > k)
      cout << "no" << '\n';
    else {
      int tmp = query(root[st[pos].re], 1, n, a, b);
      if (tmp <= y)
        cout << "yes";
      else
        cout << "no";
      cout << '\n';
    }
    cout.flush();
  }
  return 0;
}
