#include <bits/stdc++.h>
using namespace std;
using vi = vector<int>;
struct Rect {
  int x1, y1, x2, y2;
  long long area() {
    long long ar = (long long)(y2 - y1) * (x2 - x1);
    return ar;
  }
};
long long intersect(Rect p, Rect q) {
  long long xOverlap = max(0, min(p.x2, q.x2) - max(p.x1, q.x1));
  long long yOverlap = max(0, min(p.y2, q.y2) - max(p.y1, q.y1));
  long long overlap = xOverlap * yOverlap;
  return overlap;
}
long long intersect(Rect p, Rect q, Rect r) {
  long long xOverlap =
      max(0, min(p.x2, min(q.x2, r.x2)) - max(p.x1, max(q.x1, r.x1)));
  long long yOverlap =
      max(0, min(p.y2, min(q.y2, r.y2)) - max(p.y1, max(q.y1, r.y1)));
  long long overlap = xOverlap * yOverlap;
  return overlap;
}
void solve() {
  Rect w, b1, b2;
  cin >> w.x1 >> w.y1 >> w.x2 >> w.y2;
  cin >> b1.x1 >> b1.y1 >> b1.x2 >> b1.y2;
  cin >> b2.x1 >> b2.y1 >> b2.x2 >> b2.y2;
  long long overlap =
      intersect(w, b1) + intersect(w, b2) - intersect(b1, b2, w);
  if (overlap == w.area()) {
    cout << "NO";
  } else {
    cout << "YES";
  }
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int t = 1;
  while (t--) {
    solve();
  }
}
