#include <bits/stdc++.h>
using namespace std;
inline void Input_Output() {}
const double eps = 0.000001;
const long double pi = acos(-1);
const int maxn = 1e7 + 9;
const int mod = 1e9 + 7;
const long long MOD = 1e18 + 9;
const long long INF = 1e18 + 123;
const int inf = 2e9 + 11;
const int mxn = 1e6 + 9;
const int N = 3e5 + 123;
const int M = 22;
const int pri = 997;
const int Magic = 2101;
const int dx[] = {-1, 0, 1, 0};
const int dy[] = {0, -1, 0, 1};
int n, m, k;
vector<int> val;
map<int, vector<pair<int, int> > > g;
int rt[N];
int t[N * 20];
int L[N * 20];
int R[N * 20];
int w[N];
int ptr;
void upd(int &v, int _v, int p, int x, int tl = 1, int tr = n) {
  v = ++ptr;
  if (tl == tr) {
    t[v] = x;
    return;
  }
  int tm = (tl + tr) >> 1;
  if (p <= tm) {
    R[v] = R[_v];
    upd(L[v], L[_v], p, x, tl, tm);
  } else {
    L[v] = L[_v];
    upd(R[v], R[_v], p, x, tm + 1, tr);
  }
  t[v] = max(t[L[v]], t[R[v]]);
}
int get(int l, int r, int v, int tl = 1, int tr = n) {
  if (l > tr || tl > r || !v) return 0;
  if (tl >= l && tr <= r) {
    return t[v];
  }
  int tm = (tl + tr) >> 1;
  return max(get(l, r, L[v], tl, tm), get(l, r, R[v], tm + 1, tr));
}
int main() {
  scanf("%d%d%d", &n, &m, &k);
  for (int i = 1; i <= k; ++i) {
    int l, r, p;
    scanf("%d%d%d", &l, &r, &p);
    val.push_back(l);
    g[l].push_back({r, p});
  }
  sort(val.begin(), val.end());
  val.resize(unique(val.begin(), val.end()) - val.begin());
  for (int i = 1, j = (int)(val.size()); i <= n; ++i) {
    w[i] = inf;
    int old = rt[j];
    upd(rt[j], old, i, w[i]);
  }
  for (int i = (int)(val.size()) - 1; i >= 0; --i) {
    rt[i] = rt[i + 1];
    for (auto it : g[val[i]]) {
      int p = it.second;
      int x = it.first;
      if (w[p] > x)
        w[p] = x;
      else
        continue;
      int old = rt[i];
      upd(rt[i], old, p, w[p]);
    }
  }
  for (int i = 1, a, b, x, y; i <= m; ++i) {
    scanf("%d%d%d%d", &a, &b, &x, &y);
    x = lower_bound(val.begin(), val.end(), x) - val.begin();
    if (get(a, b, rt[x]) <= y)
      puts("yes");
    else
      puts("no");
    fflush(stdout);
  }
  return 0;
}
