#include <bits/stdc++.h>
using namespace std;
void merge_sort(vector<int> &arr, int start, int end);
int main(void) {
  int n, s;
  cin >> n >> s;
  vector<int> a(n, 0);
  for (int i = 0; i < n; ++i) cin >> a[i];
  merge_sort(a, 0, n - 1);
  int sum{};
  for (int i = 0; i < n - 1; ++i) sum += a[i];
  if (sum > s)
    cout << "NO";
  else
    cout << "YES";
  return 0;
}
void merge_sort(vector<int> &arr, int start, int end) {
  if (start >= end) return;
  int mid = (start + end) / 2;
  merge_sort(arr, start, mid);
  merge_sort(arr, mid + 1, end);
  vector<int> a, b;
  for (int i = start; i <= mid; ++i) a.push_back(arr[i]);
  for (int i = mid + 1; i <= end; ++i) b.push_back(arr[i]);
  int i = 0, j = 0, k = start;
  while (i < a.size() && j < b.size())
    if (a[i] < b[j])
      arr[k++] = a[i++];
    else
      arr[k++] = b[j++];
  while (i < a.size()) arr[k++] = a[i++];
  while (j < b.size()) arr[k++] = b[j++];
}
