#include <bits/stdc++.h>
using namespace std;
const int Mod = 1e9 + 7;
int dcmp(double x) {
  if (fabs(x) <= 1e-9) return 0;
  return x < 0 ? -1 : 1;
}
struct Point {
  double x, y;
  Point(double x = 0, double y = 0) : x(x), y(y) {}
  bool operator<(const Point &a) const {
    if (x == a.x) return y < a.y;
    return x < a.x;
  }
  Point operator-(const Point &a) const { return Point(x - a.x, y - a.y); }
  Point operator+(const Point &a) const { return Point(x + a.x, y + a.y); }
  Point operator*(const double &a) const { return Point(x * a, y * a); }
  Point operator/(const double &a) const { return Point(x / a, y / a); }
  void read() { scanf("%lf%lf", &x, &y); }
  void out() { cout << "debug: " << x << " " << y << endl; }
  bool operator==(const Point &a) const {
    return dcmp(x - a.x) == 0 && dcmp(y - a.y) == 0;
  }
};
double Dot(Point a, Point b) { return a.x * b.x + a.y * b.y; }
double dis(Point a) { return sqrt(Dot(a, a)); }
double Cross(Point a, Point b) { return a.x * b.y - a.y * b.x; }
int ConvexHull(Point *p, int n, Point *ch) {
  int m = 0;
  for (int i = 0; i <= n - 1; i++) {
    while (m > 1 && Cross(ch[m - 1] - ch[m - 2], p[i] - ch[m - 2]) <= 0) m--;
    ch[m++] = p[i];
  }
  int k = m;
  for (int i = n - 2; i >= 0; i--) {
    while (m > k && Cross(ch[m - 1] - ch[m - 2], p[i] - ch[m - 2]) <= 0) m--;
    ch[m++] = p[i];
  }
  if (n > 1) m--;
  return m;
}
int n1, n2, m;
Point p1[100005], p2[100005];
Point ch[100005];
bool check(Point tp) {
  if (Cross(tp - ch[0], ch[1] - ch[0]) >= 0 ||
      Cross(tp - ch[0], ch[m - 1] - ch[0]) <= 0)
    return 0;
  int l = 0, r = m - 1;
  int now = l;
  while (l <= r) {
    int mid = l + r >> 1;
    if (Cross(ch[mid] - ch[0], tp - ch[0]) > 0)
      l = mid + 1, now = mid;
    else
      r = mid - 1;
  }
  return Cross(ch[(now + 1) % m] - ch[now], tp - ch[now]) > 0;
}
void solve() {
  cin >> n1;
  for (int i = 0; i <= n1 - 1; i++) p1[i].read();
  cin >> n2;
  for (int i = 0; i <= n2 - 1; i++) p2[i].read();
  sort(p1, p1 + n1);
  m = ConvexHull(p1, n1, ch);
  int mk = 1;
  for (int i = 0; i <= n2 - 1; i++) {
    if (!mk) break;
    if (!check(p2[i])) mk = 0;
  }
  if (mk)
    cout << "YES" << endl;
  else
    cout << "NO" << endl;
}
int main() {
  int t = 0;
  solve();
  return 0;
}
