#include<stdio.h>
int main(void)
{
int T;
scanf("%d",&T);
if(T>=1&&T<=100)
{
for(int i=1;i<=T;i++)
{
int N,S;
scanf("%d%d",&N,&S);
if(N>=1&&N<=100&&S>=13&&S<=100)
{
int P[N],l;
for(int j=0;j<N;j++)
{
scanf("%d",&l);
if(l>=1&&l<=100)
{
P[j]=l;
}
}
int a[N],b[N],k,f=-1,g=-1;
for(int j=0;j<N;j++)
{
scanf("%d",&k);
if(k==0)
{
f++;
a[f]=P[j];
}
if(k==1)
{
g++;
b[g]=P[j];
}
}
int min_a=a[0],min_b=b[0];
for(int j=0;j<f;j++)
{
if(a[j]>a[j+1])
min_a=a[j+1];}
for(int j=0;j<g;j++){
if(b[j]>b[j+1])
min_b=b[j+1];
}
if(min_a+min_b<=100-S)
{
printf("YES");
}
else
{
printf("NO");
}
}
if(i<T)
{
printf("\n");
}
}
}
return(0);
}