#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
const long long mod = 1e9 + 7;
const double pi = acos(-1);
long long fastpow(long long b, long long e) {
  if (!e) return 1;
  long long ret = fastpow(b, e / 2);
  ret = (ret * ret) % mod;
  if (e % 2) ret = (ret * b) % mod;
  return ret;
}
long long modinv(long long x) { return fastpow(x, mod - 2); }
double torad(double ang) { return ang * pi / 180.0; }
int prime[N];
void sieve() {
  prime[0] = prime[1] = 1;
  for (int i = 2; i < N; i++) {
    if (!prime[i]) {
      for (int j = i; j < N; j += i) prime[j] = i;
    }
  }
}
bool fact(int n) {
  int cntr = 0;
  while (n > 1) {
    n /= prime[n];
    cntr++;
    if (cntr > 2) return 0;
  }
  return 1;
}
int main() {
  int x, y, z, g, p, b;
  cin >> x >> y >> z >> g >> p >> b;
  if (x > g) return cout << "NO", 0;
  g -= x;
  if (y > g + p) return cout << "NO", 0;
  g = g + p - y + b;
  if (z > g) return cout << "NO", 0;
  cout << "YES";
  return 0;
}
