#include <bits/stdc++.h>
using namespace std;
int n, m;
pair<double, double> A[100001], center;
pair<double, int> B[100001];
vector<double> angle;
double findangle(pair<double, double> pt) {
  double v = atan2(pt.second, pt.first);
  if (v < 0) {
    v += atan(1) * 8;
  }
  return v;
}
bool sameside(pair<double, double> a, pair<double, double> b,
              pair<double, double> pt) {
  if (a.first == b.first) {
    double dx1, dx2;
    dx1 = a.first - pt.first;
    dx2 = a.first - center.first;
    if (dx1 * dx2 > 0)
      return true;
    else
      return false;
  } else {
    double m = (a.second - b.second) / (a.first - b.first);
    double c = a.second - m * a.first;
    double v1, v2;
    v1 = pt.second - m * pt.first - c;
    v2 = center.second - m * center.first - c;
    if (v1 * v2 > 0)
      return true;
    else
      return false;
  }
}
bool Isinside(pair<double, double> pt) {
  vector<double>::iterator low;
  double ang = findangle(pt);
  int pos;
  low = lower_bound(angle.begin(), angle.end(), ang);
  if (low == angle.end()) {
    pos = 0;
  } else
    pos = int(low - angle.begin());
  int p1, p2;
  p1 = pos;
  if (p1 == 0)
    p2 = n - 1;
  else
    p2 = pos - 1;
  pair<double, double> a, b;
  a = A[B[p1].second];
  b = A[B[p2].second];
  return sameside(a, b, pt);
}
int main() {
  int i, a, b;
  cin >> n;
  pair<double, double> tp;
  for (i = 0; i < n; i++) {
    cin >> A[i].first >> A[i].second;
    center.first += A[i].first;
    center.second += A[i].second;
  }
  center.first /= n;
  center.second /= n;
  for (i = 0; i < n; i++) {
    A[i].first -= center.first;
    A[i].second -= center.second;
  }
  for (i = 0; i < n; i++) {
    B[i].second = i;
    tp = A[i];
    B[i].first = findangle(tp);
  }
  sort(B, B + n);
  for (i = 0; i < n; i++) angle.push_back(B[i].first);
  cin >> m;
  bool inside = true;
  pair<double, double> backup = center;
  center.first = 0;
  center.second = 0;
  for (i = 0; i < m; i++) {
    cin >> tp.first >> tp.second;
    tp.first -= backup.first;
    tp.second -= backup.second;
    if (Isinside(tp) == false) {
      inside = false;
      break;
    }
  }
  if (inside)
    cout << "YES\n";
  else
    cout << "NO\n";
  return 0;
}
