// Problem: B. Fair Division
// Contest: Codeforces - Codeforces Round 693 (Div. 3)
// URL: https://c...content-available-to-author-only...s.com/problemset/problem/1472/B
// Memory Limit: 256 MB
// Time Limit: 2000 ms
// 
// Powered by CP Editor (https://c...content-available-to-author-only...r.org)

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

bool multicases_=true;

#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
// template<class  T>using ordered_multiset = tree<T,null_type,less_equal<T>,rb_tree_tag,tree_order_statistics_node_update>;
template<typename T>using ordered_multiset = tree<pair<T, int>, null_type, less<pair<T, int>>, rb_tree_tag, tree_order_statistics_node_update>;
template<typename T>using ordered_set = tree<T,null_type,less<T>,rb_tree_tag,tree_order_statistics_node_update>;

using ll = long long;
#define int long long//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<??
typedef unsigned long long u64;//this or the one  below
#define ull unsigned long long



int total,n;
vector<int>v;

// int dp[105][205];



// bool go(int idx,int taken){
// 	
	// if(taken*2==total)return true;
// 	
	// //fix : >n-1 not >n
	// if(idx>n-1||taken>total)return false;
// 	
	// if(~dp[idx][taken])return dp[idx][taken];
// 	
	// bool ch1= go(idx+1,taken+v[idx]);
	// bool ch2= go(idx+1,taken);
// 	
	// bool ans=ch1||ch2;
// 	
	// return dp[idx][taken]=ans; // fixxx  :  dp=ans not vice versa !!!!
// }

void pre_compute(){
	//fix: reset each time not only here
	
	///this was wrong order in the memset function:
	// memset(dp,sizeof(dp),-1);
}

void solve(int tc){
	// //dbg:
	 // cerr<<"at the test case no."<<tc<<" : \n";
	
	//you can use instead of that number of indices left 
									//and initalize only before the first test case
	// memset(dp, -1, sizeof(dp));
	
	cin>>n;
	v.assign(n,0);
	for(auto&x:v)cin>>x;
	total=accumulate(v.begin(),v.end(),0LL);
	
	
	// cout<<(go(0,0)?"YES\n":"NO\n");
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	//iterative dp now:
	
	//if total is not divisible by 2 then immediately reurn the output NO\n 
	if (total % 2) {
        cout << "NO\n";
        return;
    }
    
    
	int target=total/2;//focus error fix:total/2 not n/2
	vector<vector<bool>>dp(n+1,vector<bool>(target+1,false));
	
	//states : dp[i][s] => i means how many candies are we allowed to use
	//					=> s means what sum are we trying to make
	
	
	//base case: we can build sum of 0 using 0 candies
	dp[0][0]=true;
	//all s values for i=1 is false
		//because when you don't choose anything all what you can make is 1
	
	
	for(int i = 1 ;i <= n ;i++){	//you have now i elements to build your target
		
		for(int s = 0; s<=target;s++){	//know if s is reachable from the i indices
												//may be some of them 
			
			//leave
			//if i can make s without the current candy 
				//then it can be done with the current candy also
			dp[i][s]=dp[i-1][s];
			
			
			//take
			//if i take the current one, can the previous ones build the remaining ?
			if(s>=v[i-1]){
				dp[i][s]=dp[i][s]||dp[i-1][s-v[i-1]];
			}
			
		}
		
	}
	
	
	//now the question is can i build the target from the n elements
						// and the target is total/2
	// so if we can build the half of the sum from the n elements
				//then the reamining half is the rest untaken cells
	cout<<(dp[n][target]?"YES\n":"NO\n");
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	// int ones=count(v.begin(),v.end(),1),twos=count(v.begin(),v.end(),2);
	
	
	
	
	
	
	
	
// 	
	// int sm=ones+twos*2;
// 	
	// //summation of all values must be even
	// if(sm&1) return void (cout<<"NO\n");
// 	
	// //if total is even and we have someones so these ones summation must be even
			// //becuase twos are actually even so also ones summation is even
										// //to make the total sum even
// 	
	// //if we have ones (and as proved summation of ones is even)
	// if(ones)return void (cout<<"YES\n"); 
// 	
// 	
	// //examples
	// // 	when number of twos is even : 2 2 1 1     (2 1 , 2 1)
	// // 	when number of twos is odd  : 2 1 1       (1 1, 2)
// 	
	// //so if we have ones and total is even then it is ok
// 	
// 	
	// //if we don't have ones then number of twos must be even
	// if(twos&1)cout<<"NO\n";
	// else cout<<"YES\n";
// 	
	
	
	
	
	
	
	
	// if( (ones+2*twos)&1 )return void (cout<<"NO\n");
// 	
	// int sm= (ones + 2*twos)/2;
// 	
	// if( (sm%2==0) || ((sm&1) && ones) ) cout<<"YES\n";
	// else cout<<"NO\n";
// 	
	
}

signed main(){
	ios::sync_with_stdio(0);cin.tie(0);
	
	pre_compute();
	
	int tc=1;
	if(multicases_)cin>>tc;
	int total_tcs=tc;
	while(tc--){
		solve(total_tcs-tc);
	}
	return 0;
}