#include <bits/stdc++.h>
using namespace std;
const long long M = 1e9 + 7;
const long long MAXN = 10000001;
const long long INF = 1e18;
void err(istream_iterator<string> it) {}
template <typename T, typename... Args>
void err(istream_iterator<string> it, T a, Args... args) {
  cerr << *it << " => " << a << "] [";
  cout << '\n';
  err(++it, args...);
}
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long n, emp_mug;
  cin >> n >> emp_mug;
  vector<long long> a(n);
  for (long long i = (0); i < (n); i++) cin >> a[i];
  sort((a).begin(), (a).end());
  long long sum = 0;
  for (long long i = (0); i < (n - 1); i++) sum += a[i];
  sum <= emp_mug ? cout << "YES" << '\n' : cout << "NO" << '\n';
}
