#include <bits/stdc++.h>
using namespace std;
long long cross(const pair<int, int> &O, const pair<int, int> &A,
                const pair<int, int> &B) {
  return (A.first - O.first) * 1LL * (B.second - O.second) -
         (A.second - O.second) * 1LL * (B.first - O.first);
}
bool point_inside_convex(const vector<pair<int, int> > &l, pair<int, int> p) {
  int a = 1, b = l.size() - 1, c;
  if (cross(l[0], l[a], l[b]) > 0) swap(a, b);
  if (cross(l[0], l[a], p) >= 0 || cross(l[0], l[b], p) <= 0) return false;
  while (abs(a - b) > 1) {
    c = (a + b) / 2;
    if (cross(l[0], l[c], p) > 0)
      b = c;
    else
      a = c;
  }
  return cross(l[a], l[b], p) < 0;
}
int main() {
  int n, q, x, y;
  scanf("%d", &n);
  vector<pair<int, int> > v;
  v.resize(n);
  for (int i = 0; i < n; i++) {
    scanf("%d %d", &x, &y);
    v[i] = make_pair(x, y);
  }
  bool ans = true;
  scanf("%d", &q);
  while (q-- && ans) {
    scanf("%d %d", &x, &y);
    if (point_inside_convex(v, make_pair(x, y)) != 1) ans = false;
  }
  if (ans)
    cout << "YES";
  else
    cout << "NO";
  return 0;
}
