#include <bits/stdc++.h>
using namespace std;
const long long MaxN = 1E6 + 10;
const long double eps = 1E-8;
const long long INF = 1E9 + 7;
const long long MOD = 43781;
long long a[MaxN];
long long ghadr(long long x) { return max(x, -x); }
long long bpow(long long n, long long k, long long delta = MOD) {
  n %= delta;
  long long ans = 1;
  while (k) {
    if (k % 2) ans = (n * ans) % delta;
    n = (n * n) % delta;
    k /= 2;
  }
  return ans;
}
long long fact(long long n) {
  if (n == 0) return 1;
  return n * fact(n - 1);
}
long long C(long long n, long long k) {
  if (k > n) return 0;
  if (k == 0) return 1;
  if (k == n) return 1;
  return C(n - 1, k) + C(n - 1, k - 1);
}
long long checkPrime(long long n) {
  if (n == 1) return false;
  for (long long i = 2; i * i <= n; ++i)
    if (n % i == 0) return false;
  return true;
}
long long lg(long long n, long long k = 10) {
  long long x = n, cnt = 0;
  while (x) {
    ++cnt;
    x /= k;
  }
  return cnt;
}
int32_t main() {
  ios::sync_with_stdio(false);
  cin.tie();
  cout.tie();
  cout << fixed << setprecision(12);
  cerr << fixed << setprecision(12);
  long long n, len;
  cin >> n >> len;
  long long sum = 0;
  for (long long i = 0; i < n; ++i) {
    cin >> a[i];
    sum += a[i];
  }
  if (len == sum + n - 1)
    cout << "YES";
  else
    cout << "NO";
}
