#include<bits/stdc++.h>
using namespace std;
const int N=1020;
typedef long long LL;
int n,h;
struct dian{
int x,y,z;
}q[N];
LL r;
int p[N];//father
//并查集模板
int find(int x){
if(p[x]!=x) p[x]=find(p[x]);
return p[x];
}
int main(){
int t;
cin>>t;
while(t--){
cin>>n>>h>>r;
for(int i=0;i<=n+1;i++) p[i]=i;//并查集初始化
for(int i=1;i<=n;i++){
int x,y,z;
cin>>x>>y>>z;
q[i].x=x;
q[i].y=y;
q[i].z=z;
if (z - r <= 0 && z + r >= 0) p[find(0)] = find(i);
if (z - r <= h && z + r >= h) p[find(n + 1)] = find(i);
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;i++){
LL dx=q[i].x-q[j].x;
LL dy=q[i].y-q[j].y;
LL dz=q[i].z-q[j].z;
if(dx*dx+dy*dy+dz*dz<=4*r*r) p[find(i)]=find(j);
}
}
if(find(0) == find(n+1)) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
return 0;
}