#include <stdio.h>
#include <algorithm>
#include <string.h>
int n,a[25],e;
bool b[25];
bool dfs(int curLen,int cure,int curStick)
{
if(cure==4) return 1;
if(curLen==e)
return dfs(0,cure+1,0);
for(int i=curStick;i<n;++i) //之前的已判断过,从curStick开始
{
if(i&&a[i]==a[i-1]&&!b[i-1]) continue; //当前长度和前一个一样且前一个不使用,当前也不使用
if(b[i]) continue;
if(curLen+a[i]>e) break;
b[i]=1;
if(dfs(curLen+a[i],cure,i))
return true;
b[i]=0;
if(!curLen) break; //一条边的第一个没有匹配,则整个匹配失败
}
return false;
}
int main()
{
int T;
scanf(" %d",&T);
while(T--)
{
e=0;
memset(b,0,sizeof(b));
scanf(" %d",&n);
for(int i=0;i<n;++i)
{
scanf(" %d",a+i);
e+=a[i];
}
std::sort(a,a+n);
if(e%4!=0||a[n-1]>e)
{
printf("no\n");
continue;
}
e/=4;
if(dfs(0,0,0))
printf("yes\n");
else
printf("no\n");
}
return 0;
}