#include<iostream>
#include<cstdio>
#include<cmath>
#include<string.h>
#include<algorithm>
using namespace std;
const int N=1e4+100;
int T,n,a[N],l[5];
bool flag=false;
inline bool check()
{
for(int i=1;i<n;i++)
{
if(a[i]!=a[i+1])
{
return false;
}
}
return true;
}
inline void dfs(int point)
{
if(flag==true)
{
return ;
}
if(point==n+1)
{
flag=true;
return ;
}
for(int i=1;i<=4;i++)
{
if(l[i]>=a[point])
{
l[i]-=a[point];
dfs(point+1);
l[i]+=a[point];
}
}
}
inline void work()
{
memset(a,0,sizeof(a));scanf("%d",&n);int c=0;
for(int i=1;i<=n;i++)
{
scanf("%d",a+i);c+=a[i];
}
if(c%4!=0)
{
printf("no\n");
return ;
}
if(check()==true)
{
if(n%4!=0)
{
printf("no\n");
return ;
}
}
for(int i=1;i<=4;i++)
{
l[i]=c/4;
}
sort(a+1,a+n+1,greater<int>());
dfs(1);
if(flag==true)
{
printf("yes\n");
return ;
}
else
{
printf("no\n");
return ;
}
}
signed main(void)
{
scanf("%d",&T);
while(T--)
{
work();
}
return 0;
}