#include <bits/stdc++.h>
#pragma GCC optimize(2)
using namespace std;
template <typename T>
T gcd(T a, T b) {
  return b == 0 ? a : gcd(b, a % b);
}
const int maxn = 1e5 + 5;
const long long mod = 1e9 + 7;
int Case = 1;
int n, m;
struct node {
  int x, y, xx, yy;
} a, b, c;
vector<int> A, B;
int getid(int x, int id) {
  if (id == 1)
    return lower_bound(((A).begin()), ((A).end()), x) - A.begin() + 1;
  else
    return lower_bound(((B).begin()), ((B).end()), x) - B.begin() + 1;
}
int maze[20][20];
void solve() {
  cin >> a.x >> a.y >> a.xx >> a.yy;
  cin >> b.x >> b.y >> b.xx >> b.yy;
  cin >> c.x >> c.y >> c.xx >> c.yy;
  A.push_back(a.x * 2);
  A.push_back(a.xx * 2);
  A.push_back(a.x * 2 + 1);
  A.push_back(a.xx * 2 + 1);
  B.push_back(a.y * 2);
  B.push_back(a.yy * 2);
  B.push_back(a.y * 2 + 1);
  B.push_back(a.yy * 2 + 1);
  A.push_back(b.x * 2);
  A.push_back(b.xx * 2);
  A.push_back(b.x * 2 + 1);
  A.push_back(b.xx * 2 + 1);
  B.push_back(b.y * 2);
  B.push_back(b.yy * 2);
  B.push_back(b.y * 2 + 1);
  B.push_back(b.yy * 2 + 1);
  A.push_back(c.x * 2);
  A.push_back(c.xx * 2);
  A.push_back(c.x * 2 + 1);
  A.push_back(c.xx * 2 + 1);
  B.push_back(c.y * 2);
  B.push_back(c.yy * 2);
  B.push_back(c.y * 2 + 1);
  B.push_back(c.yy * 2 + 1);
  sort(((A).begin()), ((A).end()));
  A.erase(unique(((A).begin()), ((A).end())), A.end());
  sort(((B).begin()), ((B).end()));
  B.erase(unique(((B).begin()), ((B).end())), B.end());
  int x = getid(b.x * 2, 1), xx = getid(b.xx * 2, 1);
  int y = getid(b.y * 2, 2), yy = getid(b.yy * 2, 2);
  for (int i = x; i <= xx; i++) {
    for (int j = y; j <= yy; j++) {
      maze[i][j] = 1;
    }
  }
  x = getid(c.x * 2, 1), xx = getid(c.xx * 2, 1);
  y = getid(c.y * 2, 2), yy = getid(c.yy * 2, 2);
  for (int i = x; i <= xx; i++) {
    for (int j = y; j <= yy; j++) {
      maze[i][j] = 1;
    }
  }
  x = getid(a.x * 2, 1), xx = getid(a.xx * 2, 1);
  y = getid(a.y * 2, 2), yy = getid(a.yy * 2, 2);
  for (int i = x; i <= xx; i++) {
    for (int j = y; j <= yy; j++) {
      if (maze[i][j] == 0) {
        cout << "YES\n";
        return;
      }
    }
  }
  cout << "NO\n";
  return;
}
int main() {
  while (Case--) {
    solve();
  }
  return 0;
}
