tt=int(input())
arrow=[]
while tt>0:
w=input()
w=w.split()
n=int(w[0])
x=int(w[1])
a=input()
b=input()
a=a.split()
b=b.split()
a=list(map(int, a))
b=list(map(int, b))
a.sort()
b.sort(reverse= True)
k=0
ans='No'
for i in range(n):
if a[i]+b[i]>x:
k+=1
break
if k==0:
ans='Yes'
arrow.append(ans)
tt-=1
if tt!=0:
r=input()
for i in range(len(arrow)):
print(arrow[i])
#include <bits/stdc++.h>
using namespace std;
int main() {
// your code goes here
int t;
cin>>t;
while(t--){
int n,x;
cin>>n>>x;
int a[n],b[n];
for(int i=0; i<n; i++)cin>>a[i];
for(int i=0; i<n; i++)cin>>b[i];
sort(a,a+n);
sort(b,b+n);
bool check=true;
for(int i=0; i<n; i++){
if((a[i]+b[n-1-i])>x){
check=false;
break;
}
}
if(check)cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
return 0;
}
313B - Ilya and Queries | 579A - Raising Bacteria |
723A - The New Year Meeting Friends | 302A - Eugeny and Array |
1638B - Odd Swap Sort | 1370C - Number Game |
1206B - Make Product Equal One | 131A - cAPS lOCK |
1635A - Min Or Sum | 474A - Keyboard |
1343A - Candies | 1343C - Alternating Subsequence |
1325A - EhAb AnD gCd | 746A - Compote |
318A - Even Odds | 550B - Preparing Olympiad |
939B - Hamster Farm | 732A - Buy a Shovel |
1220C - Substring Game in the Lesson | 452A - Eevee |
1647B - Madoka and the Elegant Gift | 1408A - Circle Coloring |
766B - Mahmoud and a Triangle | 1618C - Paint the Array |
469A - I Wanna Be the Guy | 1294A - Collecting Coins |
1227A - Math Problem | 349A - Cinema Line |
47A - Triangular numbers | 1516B - AGAGA XOOORRR |