#include<cstdio>
#include<algorithm>
#include<set>
using namespace std;

typedef long long int ll;

int n,b[50];
set<ll> s;

void bin(ll x){
  for(int i=0;i<12;i++){
    printf("%lld",x&1LL);
    x >>= 1;
  }
  putchar('\n');
}

bool rec(int pos,ll bit);

bool serve(int pos,int sum,ll bit,int nxt){
  //printf("%d ",sum);
  //bin(bit);
  if(pos==n)return false;

  ll tmp;
  for(int i=pos;i<n;i++){
    if( !((bit>>i)&1LL)){
      if(b[i]<sum){
	if(serve(i+1,sum-b[i],bit|(1LL<<i),nxt))return true;
      }else if(b[i] == sum){
	if(rec(nxt,bit|(1LL<<i)))return true;
      }
    }
  }
  return false;
}

bool rec(int pos,ll bit){
  if(s.find(bit)!=s.end())return false;
  //bin(bit);
  s.insert(bit);

  if( bit == (1LL<<n)-1 )return true;

  for(int i=pos;i<n;i++){
    if( !((bit>>i)&1LL) )return false;
    if(serve(i+1,b[i],bit,i+1))return true;
  }
  return false;
}

int main(){
  while(scanf("%d",&n),n){
    for(int i=0;i<n;i++)scanf("%d",&b[i]);
    sort(b,b+n,greater<int>());
    s.clear();

    //for(int i=0;i<n;i++)printf("%d ",b[i]);putchar('\n');
    if(rec(0,1LL))puts("YES");
    else puts("NO");
  }
}