#include <bits/stdc++.h>
using namespace std;

int n;
bool ans;
vector<int> b;
void mainDFS(int x,vector<int> &c);

void subSolve(int x,int r,vector<int> &c,int X){
	//?????????
	if( ans ) return;
	
	//???????????§??\?????????
	if( x == n ){
		if( r == 0 ){
			mainDFS(X+1,c);
		}
		return;
	}
	//????????????????????????
	if( c[x] == 0 && b[x] <= r ){
		c[x] = b[x];
		subSolve(x+1,r-b[x],c,X);
		c[x] = 0;
	}
	//???????????????
	subSolve(x+1,r,c,X);
}

void mainDFS(int x,vector<int> &c){
	if( x == n ){ ans = 1; return; }
	//?????????
	if( ans ) return;
	if( c[x] == 0 ){ return; }
	else{
		// ?¬??????????????????????????????¶????????????
		if( x + 1 < n && c[x+1] == 0 ){
			c[x+1] = b[x+1];
			subSolve(x+2,c[x]-b[x+1],c,x);
			c[x+1] = 0;
		}else{
			//???????????????
			mainDFS(x+1,c);
			//??\????????????
			subSolve(x+1,c[x],c,x);
		}		
	}
}
int main(){
	while( cin >> n && n ){
		b = vector<int>(n);
		for(int i = 0 ; i < n ; i++) cin >> b[i];
		sort(b.rbegin(),b.rend());
		vector<int> s(n,0);
		s[0] = b[0];
		ans = 0;
		mainDFS(0,s);
		if(ans) cout << "YES" << endl;
		else cout << "NO" << endl;
	}
}