#include<bits/stdc++.h>
using namespace std;
bool cmp(int a,int b)
{
return a>b;
}
int main()
{
int n,i,j,t;
int a[105];
cin>>t;
while(t--)
{
int f=0,sum=0;
cin>>n;
for(i=0;i<n;i++)
{
cin>>a[i];
if(a[i]>=n) f=1;
sum+=a[i];
}
if(sum%2==1||f==1)
{
cout<<"no\n";
continue;
}
for(int i=0;i<n;i++)
{
int cnt=0;
sort(a,a+n,cmp);
for(j=1;j<n;j++)
{
if(cnt==a[0])//已模拟完与度数最大的点的连线
break;
a[j]--;//若与度数最大的点模拟连线,就消掉该条线
cnt++;
if(a[j]<0)//如果出现某个点度数为负数的情况,就说明该序列无法构成简单图,停止模拟
{
f=1;
break;
}
}
if(f==1||cnt==0)
break;
a[0]-=cnt;
}
for(int i=0;i<n;i++)
{
if(a[i]!=0)//若能构成简单图,则模拟完后每个节点的度数都为0
{
f=1;
break;
}
}
if(f==1)
cout<<"no\n";
else
cout<<"yes\n";
}
return 0;
}