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