#include<bits/stdc++.h>
#define int long long
using namespace std;
struct node
{
int op,t,flag=0;
}a[1000010];
int n,m=8;
bool cmp(node a,node b)
{
return a.t>b.t;
}
void solve()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i].op;
int man=-1;
for(int i=1;i<=n;i++)
{
cin>>a[i].t;
if(a[i].op==3)
man=max(man,a[i].t);
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++)
if(a[i].op==3&&a[i].t==man)
{
a[i].flag=1;
break;
}
int num=0;
for(int i=1;i<=8;i++)
{
int x;
cin>>x;
num+=x;
}
num/=8;
if(man==-1)
{
cout<<"No\n";
return ;
}
int sum=man;
int t2=0,t3=1,cnt=1;
for(int i=1;i<=n;i++)
{
if(a[i].flag==1||(a[i].op==2&&t2==1)||(a[i].op==3&&t3==3))
continue;
if(cnt==8)
break;
if(a[i].op==2)
t2++;
if(a[i].op==3)
t3++;
sum+=a[i].t;
a[i].flag=1;
cnt++;
}
sum/=8;
if(sum>=num-2)
cout<<"Yes\n";
else
cout<<"No\n";
}
signed main()
{
int t;
cin>>t;
while(t--)
solve();
return 0;
}