// 2011/08/10 Tazoe

#include <iostream>
using namespace std;

bool DFS(int n, int B[50], int S[50], int SUM)
{
	bool flg = true;
	for(int i=0; i<n; i++)
		if(S[i]==0){
			flg = false;
			break;
		}

	if(flg&&SUM==0)
		return true;

	if(SUM==0)
		for(int i=0; i<n; i++)
			if(S[i]==1){
				SUM = B[i];
				S[i] = 9;
				break;
			}

	for(int i=0; i<n; i++)
		if(S[i]==0&&B[i]<=SUM){
			S[i] = 1;
			if(DFS(n, B, S, SUM-B[i]))
				return true;
			S[i] = 0;
		}

	return false;
}

int main()
{
	while(true){
		int n;
		cin >> n;
		if(n==0)
			break;

		int B[50];
		for(int i=0; i<n; i++)
			cin >> B[i];

		for(int i=0; i<n-1; i++)
			for(int j=i+1; j<n; j++)
				if(B[i]<B[j]){
					int tmp = B[i];
					B[i] = B[j];
					B[j] = tmp;
				}

		int S[50];
		for(int i=0; i<n; i++)
			S[i] = 0;

		S[0] = 1;

		if(DFS(n, B, S, 0))
			cout << "Yes" << endl;
		else
			cout << "No" << endl;
/*
		for(int i=0; i<n; i++)
			cout << B[i] << ' ';
		cout << endl;
		for(int i=0; i<n; i++)
			cout << S[i] << ' ';
		cout << endl;
*/
	}

	return 0;
}