#include <bits/stdc++.h>
using namespace std;
int k, a[25];
bool dp[14][25][10000];
int sum[10000], kol[10000];
int main() {
  cin >> k;
  if (k == 1) {
    puts("YES");
    return 0;
  }
  int n = 0, e = 0;
  for (int i = 0; i < k; i++) {
    int x;
    cin >> x;
    if (x == 1)
      e++;
    else
      a[n++] = x;
  }
  if (e <= n) {
    puts("NO");
    return 0;
  }
  sort(a, a + n);
  for (int o = 0; o < (1ll << (n)); o++) {
    for (int i = 0; i < n; i++)
      if (o & (1ll << (i))) sum[o] += a[i], kol[o]++;
  }
  dp[0][e][0] = 1;
  for (int i = 0; i < n; i++)
    for (int ee = 0; ee <= e; ee++)
      for (int o = 0; o < (1ll << (n)); o++)
        if (dp[i][ee][o]) {
          for (int te = 0; te <= ee; te++) {
            int so = o;
            for (;;) {
              if (sum[so] + te + 1 == a[i] && kol[so] + te >= 2) {
                dp[i + 1][ee - te][o - so + (1ll << (i))] = 1;
              }
              if (so == 0) break;
              so = (so - 1) & o;
            }
          }
        }
  string ans = "NO";
  for (int i = 0; i < n; i++)
    if (dp[n][0][(1ll << (i))]) {
      ans = "YES";
    }
  cout << ans << endl;
  return 0;
}
