#include<bits/stdc++.h>
using namespace std;
int t,n,l,val[100005];
long long x[100005],y[100005],z[100005];
long long v,q;
double d(int a,int b){
double x1=(double)x[a];
double x2=(double)x[b];
double y1=(double)y[a];
double y2=(double)y[b];
double z1=(double)z[a];
double z2=(double)z[b];
return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2));
}
void f(int q){
if(z[q]+q>=v){
l=1;
return;
}
val[q]=1;
for(int i=1;i<=n;i++){
if(!val[i]&&d(q,i)<=2*q){
f(i);
}
}
}
int main(){
cin>>t;
for(int i=1;i<=t;i++){
memset(x,-1,sizeof x);
memset(y,-1,sizeof y);
memset(z,-1,sizeof z);
memset(val,0,sizeof val);
cin>>n>>v>>q;
for(int i=1;i<=n;i++){
cin>>x[i]>>y[i]>>z[i];
}
for(int i=1;i<=n;i++){
if(!val[i]&&z[i]-q<=0){
f(i);
}
if(l==1){
cout<<"Yes"<<endl;
break;
}
}
if(l==0){
cout<<"No"<<endl;
l=0;
}
}
return 0;
}
~~代码改的有点乱~~~~