#include <bits/stdc++.h>
using namespace std;
const int modulo = 1e9 + 7;
template <class __Ty>
bool mini(__Ty& a, __Ty b) {
  return a > b ? ((a = b) | 1) : (0);
}
template <class __Ty>
bool maxi(__Ty& a, __Ty b) {
  return a < b ? ((a = b) | 1) : (0);
}
template <class __Ty>
__Ty add(__Ty a, __Ty b) {
  return (a + b) % (__Ty(modulo));
}
template <class __Ty>
__Ty sub(__Ty a, __Ty b) {
  __Ty m(modulo);
  return ((a - b) % m + m) % m;
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int a[3], b[3];
  for (int i = 0; i < 3; ++i) {
    cin >> a[i] >> b[i];
    if (a[i] > b[i]) swap(a[i], b[i]);
  }
  bool ans = false;
  ans |= ((a[0] >= a[1] + a[2]) && (b[0] >= max(b[1], b[2])));
  ans |= ((a[0] >= b[1] + a[2]) && (b[0] >= max(a[1], b[2])));
  ans |= ((a[0] >= max(a[1], a[2])) && (b[0] >= b[1] + b[2]));
  ans |= ((a[0] >= max(b[1], a[2])) && (b[0] >= a[1] + b[2]));
  ans |= ((b[0] >= a[1] + a[2]) && (a[0] >= max(b[1], b[2])));
  ans |= ((b[0] >= b[1] + a[2]) && (a[0] >= max(a[1], b[2])));
  ans |= ((b[0] >= max(a[1], a[2])) && (a[0] >= b[1] + b[2]));
  ans |= ((b[0] >= max(b[1], a[2])) && (a[0] >= a[1] + b[2]));
  if (ans)
    cout << "YES";
  else
    cout << "NO";
  return 0;
}
