#include<bits/stdc++.h>
using namespace std;
const int N=1e4+7;
int a[N],n,bc;bool dp[1025][4][N];
int zh(vector<int> z)
{
int ans=0,bl=1;
for(int i=0;i<n;i++)
{
if(z[i]==1)
{
ans+=bl;
}
bl*=2;
}
return ans;
}
int f(vector<int> x,int bs,int xbc)
{
// cout<<zh(x);
int i,ans=0;
if(bs==3) return 1;
if(xbc>bc) return 0;
if(xbc==bc)
{
return f(x,bs+1,0);
}
if(dp[zh(x)][bs][xbc]!=-1)
{
return dp[zh(x)][bs][xbc];
}
for(i=0;i<n;i++)
{
if(x[i]==1)
{
x[i]=0;
// cout<<a[i];
ans|=f(x,bs,xbc+a[i]);
x[i]=1;
}
}
dp[zh(x)][bs][xbc]=ans;
return ans;
}
int main()
{
int T,t;
cin>>T;
for(t=0;t<T;t++)
{
int i,ans=0,j,k;
cin>>n;
for(i=0;i<2049;i++)
{
for(j=0;j<4;j++)
{
for(k=0;k<N;k++)
{
dp[i][j][k]=-1;
if(j==3)
{
dp[i][j][k]=1;
}
}
}
}
for(i=0;i<n;i++)
{
cin>>a[i];
ans+=a[i];
}
if(ans%4!=0)
{
cout<<"no";continue;
}
bc=ans/4;
sort(a,a+n);
vector<int> b(n,1);
if(f(b,0,0))
{
cout<<"yes";
}
else
{
cout<<"no";
}
}
}
帮调