#include<bits/stdc++.h>
#define int long long
using namespace std;
int t, n, x[15];
struct node
{
int c, d;
}a[100005];
bool cmp(node x, node y)
{
return x.d>y.d;
}
int cnt[4], amx[4];
signed main()
{
for(cin>>t;t;t--)
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i].c;
}
for(int i=1;i<=n;i++)
{
cin>>a[i].d;
}
double cnt1=0.0;
for(int i=1;i<9;i++)
{
cin>>x[i];
cnt1+=x[i]*1.0;
}
sort(a+1,a+1+n,cmp);
cnt[1]=cnt[2]=cnt[3]=0;
int cntc=0;
double cnt2=0.0;
amx[2]=1, amx[3]=3, amx[1]=100000000;
for(int i=1;i<=n;i++)
{
if(cnt[a[i].c]<amx[a[i].c]&&cntc<8)
{
cnt[a[i].c]++,cntc++;
cnt2+=a[i].d*1.0;
}
}
if(cntc!=8||cnt[3]==0)
{
cout<<"No\n";
continue;
}
cnt2/=8.0;
cnt1/=8.0;
if(cnt2>=cnt1-2.0)
{
cout<<"Yes\n";
}
else
{
cout<<"No\n";
}
}
return 0;
}