#include <bits/stdc++.h>
using namespace std;
bool desc(pair<long long, long long> a, pair<long long, long long> b) {
  return a.first > b.first;
}
long long counter = 0, countedge = 0;
void addEdge(vector<long long> adj[], long long u, long long v) {
  adj[u].push_back(v);
  adj[v].push_back(u);
}
long long fact(long long x) {
  long long z = 1;
  while (x > 0) {
    z *= x;
    x--;
  }
  return z;
}
long long power(long long x, long long y) {
  long long z = 1;
  while (y-- > 0) {
    z *= 2;
  }
  return z;
}
void dfs(vector<long long> adj[], long long u, bool vis[]) {
  int i, j;
  vis[u] = true;
  counter++;
  countedge += adj[u].size();
  for (i = 0; i < adj[u].size(); i++) {
    if (!vis[adj[u][i]]) dfs(adj, adj[u][i], vis);
  }
}
pair<pair<long long, long long>, pair<long long, long long> > Intersect(
    pair<long long, long long> a, pair<long long, long long> b,
    pair<long long, long long> c, pair<long long, long long> d) {
  int i, j, z, lf, rg, up, dwn;
  pair<long long, long long> p1, p2;
  lf = max(a.first, c.first);
  rg = min(b.first, d.first);
  dwn = max(a.second, c.second);
  up = min(b.second, d.second);
  p1 = make_pair(lf, dwn);
  p2 = make_pair(rg, up);
  if (rg <= lf || up <= dwn) return {{0, 0}, {0, 0}};
  return make_pair(p1, p2);
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long int i, j, n, m, cont = 0, p, d, mn, sum = 0, k, a, b, z, w,
                            sum2 = 0, c = 0, first, val, ans, nx, ny, o = 0, mx,
                            s1, s2, l, r;
  string s, t;
  long long flag = 0;
  vector<pair<long long, long long> > pt(7);
  for (i = 1; i <= 6; i++) {
    cin >> pt[i].first >> pt[i].second;
  }
  pair<pair<long long, long long>, pair<long long, long long> > wb1, wb2, inter;
  wb1 = Intersect(pt[1], pt[2], pt[3], pt[4]);
  wb2 = Intersect(pt[1], pt[2], pt[5], pt[6]);
  inter = Intersect(wb1.first, wb1.second, wb2.first, wb2.second);
  long long a1, a2;
  a1 = (abs(wb1.first.first - wb1.second.first) *
        abs(wb1.first.second - wb1.second.second));
  a2 = (abs(wb2.first.first - wb2.second.first) *
        abs(wb2.first.second - wb2.second.second));
  c = (abs(inter.first.first - inter.second.first) *
       abs(inter.first.second - inter.second.second));
  long long area = (pt[1].first - pt[2].first) * (pt[1].second - pt[2].second);
  if (area > (a1 + a2 - c))
    cout << "YES";
  else {
    cout << "NO";
  }
}
