#include<bits/stdc++.h>
using namespace std;
int f[1001];
int n,h;
long long r;
int f1[100001],f2[100001];
long long x[100001],y[100001],z[100001];
int find(int x){
if (x!=f[x]) f[x]=find(f[x]);
return f[x];
}
long long dis(long long x,long long y,long long z,long long x1,long long y1,long long z1){
int sum=(x-x1)*(x-x1)+(y-y1)*(y-y1)+(z-z1)*(z-z1);
return sum;
}
int main(){
int t;
cin>>t;
for (int i=1;i<=t;i++){
cin>>n>>h>>r;
int tot1=0;
int tot2=0;
for (int j=1;j<=n;j++){
f[j]=j;
}
for (int j=1;j<=n;j++){
cin>>x[j]>>y[j]>>z[j];
if (z[j]+r>=h){
tot1++;
f1[tot1]=j;
}
if (z[j]-r<=0){
tot2++;
f2[tot2]=j;
}
for (int k=1;k<=j;k++){
if (dis(x[j],y[j],z[j],x[k],y[k],z[k])<=4*r*r){
if (find(j)!=find(k)){
f[find(j)]=find(k);
}
}
}
}
int num=0;
for (int j=1;j<=tot1;j++){
for (int k=1;k<=tot2;k++){
if (find(f1[j])==find(f2[k])){
num=1;
break;
}
}
if (num==1) break;
}
if(num==1){
cout<<"Yes"<<endl;
}
else{
cout<<"No"<<endl;
}
}
return 0;
}