#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <functional>
#include <numeric>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <utility>
#include <sstream>
#include <complex>

using namespace std;

#define FOR(i,a,b) for(long long i=(a);i<(b);i++)
#define REP(i,N) for(long long i=0;i<(N);i++)
#define ALL(s) (s).begin(),(s).end()
#define fi first
#define se second

#define PI acos(-1.0)
#define INF 1000000007

typedef long long ll;
typedef pair<ll, ll> P;
typedef pair<double, double> PD;
typedef pair<string, ll> PS;
typedef vector<ll> V;

double xa1, ya1, xa2, ya2, xb1, yb1, xb2, yb2;

int main(){
	while (cin >> xa1 >> ya1 >> xa2 >> ya2 >> xb1 >> yb1 >> xb2 >> yb2){
		bool f = 0;
		if (xa1 >= xb1&&xa1 <= xb2&&ya1 >= yb1&&ya1 <= yb2)f = 1;
		if (xa1 >= xb1&&xa1 <= xb2&&ya2 >= yb1&&ya2 <= yb2)f = 1;
		if (xa2 >= xb1&&xa2 <= xb2&&ya1 >= yb1&&ya1 <= yb2)f = 1;
		if (xa2 >= xb1&&xa2 <= xb2&&ya2 >= yb1&&ya2 <= yb2)f = 1;
		if (xa1 >= xb1&&xa2 <= xb2)f = 1;
		if (ya1 >= yb1&&ya2 <= yb2)f = 1;
		if (xb1 >= xa1&&xb2 <= xa2)f = 1;
		if (yb1 >= ya1&&yb2 <= ya2)f = 1;
		f ? cout << "YES" << endl : cout << "NO" << endl;
	}
}