#include <bits/stdc++.h>
using namespace std;
int angulo(pair<int, int> a, pair<int, int> b, pair<int, int> c,
           pair<int, int> d) {
  long long val = (long long)(b.second - a.second) * (d.first - c.first) -
                  (long long)(b.first - a.first) * (d.second - c.second);
  if (val < 0) return 1;
  if (val > 0) return 2;
  return 3;
}
vector<pair<int, int> > suma(vector<pair<int, int> >& v1,
                             vector<pair<int, int> >& v2) {
  vector<pair<int, int> > v3;
  int nn = v1.size();
  int mm = v2.size();
  int i = 0, j = 0;
  for (int a = 0; a < (int)v1.size(); a++) {
    if (v1[a].second < v1[i].second ||
        v1[a].second == v1[i].second && v1[a].first < v1[i].first) {
      i = a;
    }
  }
  for (int a = 0; a < (int)v2.size(); a++) {
    if (v2[a].second < v2[j].second ||
        v2[a].second == v2[j].second && v2[a].first < v2[j].first) {
      j = a;
    }
  }
  int conta = 0;
  int idx, idy;
  int z;
  while (1) {
    v3.push_back(
        make_pair(v1[i].first + v2[j].first, v1[i].second + v2[j].second));
    idx = (i + 1) % nn;
    idy = (j + 1) % mm;
    conta++;
    assert(conta <= 1000000);
    z = angulo(v1[i], v1[idx], v2[j], v2[idy]);
    if (z == 1) {
      i = idx;
    } else if (z == 2) {
      j = idy;
    } else {
      i = idx;
      j = idy;
    }
    if ((v1[i].first + v2[j].first == v3[0].first) &&
        (v1[i].second + v2[j].second == v3[0].second))
      break;
  }
  return v3;
}
long long area(pair<int, int> a, pair<int, int> b, int x, int y) {
  long long aa = b.first - a.first;
  long long bb = b.second - a.second;
  long long cc = x - a.first;
  long long dd = y - a.second;
  return aa * dd - bb * cc;
}
bool isIn(vector<pair<int, int> >& A, int x, int y) {
  int n = A.size(), lo = 1, hi = A.size() - 1;
  if (area(A[0], A[1], x, y) < 0) return 0;
  if (area(A[n - 1], A[0], x, y) < 0) return 0;
  int conta = 0;
  while (hi - lo > 1) {
    conta++;
    int mid = (lo + hi) / 2;
    assert(conta <= 50);
    if (area(A[0], A[mid], x, y) > 0)
      lo = mid;
    else
      hi = mid;
  }
  return area(A[lo], A[hi], x, y) >= 0;
}
int main() {
  int n, m, o;
  scanf("%d", &n);
  vector<pair<int, int> > v1, v2, v3;
  for (int i = 0; i < n; i++) {
    int x, y;
    scanf("%d %d", &x, &y);
    v1.push_back(make_pair(x, y));
  }
  scanf("%d", &m);
  for (int i = 0; i < m; i++) {
    int x, y;
    scanf("%d %d", &x, &y);
    v2.push_back(make_pair(x, y));
  }
  scanf("%d", &o);
  for (int i = 0; i < o; i++) {
    int x, y;
    scanf("%d %d", &x, &y);
    v3.push_back(make_pair(x, y));
  }
  vector<pair<int, int> > v4 = suma(v1, v2);
  int q;
  scanf("%d", &q);
  v4 = suma(v4, v3);
  vector<pair<int, int> > v5;
  int i = 0;
  for (int a = 0; a < (int)v4.size(); a++) {
    if (v4[a].second < v4[i].second ||
        v4[a].second == v4[i].second && v4[a].first < v4[i].first) {
      i = a;
    }
  }
  for (int a = i; a < (int)v4.size(); a++) {
    v5.push_back(v4[a]);
  }
  for (int a = 0; a < i; a++) {
    v5.push_back(v4[a]);
  }
  for (int i = 0; i < q; i++) {
    int x, y;
    scanf("%d %d", &x, &y);
    if (isIn(v5, x * 3, y * 3)) {
      printf("YES\n");
    } else
      printf("NO\n");
  }
}
