#include <bits/stdc++.h>
using namespace std;
struct sheet {
  long long xt, yt, xb, yb;
};
sheet a[3];
long long flag = 0;
void hor() {
  long long yc = a[0].yb;
  for (double x = a[0].xb; x <= a[0].xt; x += .5) {
    if (a[1].xb <= x && x <= a[1].xt && a[1].yb <= yc && yc <= a[1].yt) {
      continue;
    } else if (a[2].xb <= x && x <= a[2].xt && a[2].yb <= yc && yc <= a[2].yt) {
      continue;
    } else {
      flag = 1;
      return;
    }
  }
  yc = a[0].yt;
  for (double x = a[0].xb; x <= a[0].xt; x += .5) {
    if (a[1].xb <= x && x <= a[1].xt && a[1].yb <= yc && yc <= a[1].yt) {
      continue;
    } else if (a[2].xb <= x && x <= a[2].xt && a[2].yb <= yc && yc <= a[2].yt) {
      continue;
    } else {
      flag = 1;
      return;
    }
  }
}
void ver() {
  long long xc = a[0].xb;
  for (double y = a[0].yb; y <= a[0].yt; y += .5) {
    if (a[1].xb <= xc && xc <= a[1].xt && a[1].yb <= y && y <= a[1].yt) {
      continue;
    } else if (a[2].xb <= xc && xc <= a[2].xt && a[2].yb <= y && y <= a[2].yt) {
      continue;
    } else {
      flag = 1;
      return;
    }
  }
  xc = a[0].xt;
  for (double y = a[0].yb; y <= a[0].yt; y++) {
    if (a[1].xb <= xc && xc <= a[1].xt && a[1].yb <= y && y <= a[1].yt) {
      continue;
    } else if (a[2].xb <= xc && xc <= a[2].xt && a[2].yb <= y && y <= a[2].yt) {
      continue;
    } else {
      flag = 1;
      return;
    }
  }
}
int main() {
  for (int i = 0; i < 3; i++) {
    cin >> a[i].xb >> a[i].yb >> a[i].xt >> a[i].yt;
  }
  hor();
  ver();
  cout << (flag ? "YES" : "NO");
}
