#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);
}