#include<stdio.h>
#include<algorithm>
using namespace std;
int c[60];
int v[60];
int u[60];
int n;
int solve(int a,int b){
	if(b==0){
		bool ok=true;
		for(int i=0;i<n;i++)if(!u[i]){ok=false;break;}
		if(ok)return 1;
		int at=0;
		for(int i=0;i<n;i++){
			if(v[i]){
				v[i]=0;
				int res=solve(0,c[i]);
				if(res)return 1;
				v[i]=1;
			}
			if(!u[i])break;
		}
		return 0;
	}
	if(a==n)return 0;
	if(!u[a]&&b>=c[a]){
		u[a]=v[a]=1;
		if(solve(a+1,b-c[a]))return 1;
		u[a]=v[a]=0;
	}
	int rem=0;
	for(int i=a+1;i<n;i++)if(b>=c[i]&&!u[i])rem+=c[i];
	if(rem<b)return 0;
	return solve(a+1,b);
}
int main(){
	int a;
	while(scanf("%d",&a),a){
		n=a;
		for(int i=0;i<a;i++)scanf("%d",c+i);
		for(int i=0;i<a;i++)c[i]=-c[i];
		std::sort(c,c+a);
		for(int i=0;i<a;i++)c[i]=-c[i];
		for(int i=0;i<a;i++)v[i]=u[i]=0;
		v[0]=u[0]=1;
		if(solve(0,0))printf("YES\n");
		else printf("NO\n");
	}
}