#include <bits/stdc++.h>
using namespace std;
const int N = 100050;
void solve() {
  int a_x_min, a_x_max, a_y_min, a_y_max, a_xandy_min, a_xandy_max, a_xsuby_min,
      a_xsuby_max;
  int b_x_min, b_x_max, b_y_min, b_y_max, b_xandy_min, b_xandy_max, b_xsuby_min,
      b_xsuby_max;
  int x, y;
  scanf("%d%d", &x, &y);
  a_x_min = a_x_max = x;
  a_y_min = a_y_max = y;
  a_xandy_min = a_xandy_max = x + y;
  a_xsuby_min = a_xsuby_max = x - y;
  for (int i = 2; i <= 4; i++) {
    scanf("%d%d", &x, &y);
    if (x < a_x_min) a_x_min = x;
    if (x > a_x_max) a_x_max = x;
    if (y < a_y_min) a_y_min = y;
    if (y > a_y_max) a_y_max = y;
    if (x + y < a_xandy_min) a_xandy_min = x + y;
    if (x + y > a_xandy_max) a_xandy_max = x + y;
    if (x - y < a_xsuby_min) a_xsuby_min = x - y;
    if (x - y > a_xsuby_max) a_xsuby_max = x - y;
  }
  scanf("%d%d", &x, &y);
  b_x_min = b_x_max = x;
  b_y_min = b_y_max = y;
  b_xandy_min = b_xandy_max = x + y;
  b_xsuby_min = b_xsuby_max = x - y;
  for (int i = 2; i <= 4; i++) {
    scanf("%d%d", &x, &y);
    if (x < b_x_min) b_x_min = x;
    if (x > b_x_max) b_x_max = x;
    if (y < b_y_min) b_y_min = y;
    if (y > b_y_max) b_y_max = y;
    if (x + y < b_xandy_min) b_xandy_min = x + y;
    if (x + y > b_xandy_max) b_xandy_max = x + y;
    if (x - y < b_xsuby_min) b_xsuby_min = x - y;
    if (x - y > b_xsuby_max) b_xsuby_max = x - y;
  }
  int flag = 1;
  if (a_x_min > b_x_max || b_x_min > a_x_max || a_y_min > b_y_max ||
      b_y_min > a_y_max) {
    flag = 0;
  } else if (a_xandy_min > b_xandy_max || b_xandy_min > a_xandy_max ||
             a_xsuby_min > b_xsuby_max || b_xsuby_min > a_xsuby_max) {
    flag = 0;
  }
  if (flag)
    printf("yes\n");
  else
    printf("no\n");
}
int main() {
  solve();
  return 0;
}
