#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
int x[1005],y[1005],z[1005],n,h,r;
bool beg[1005],End[1005],color[1005];
inline long long check(int i,int j){
long long t1=x[i]-x[j];
long long t2=y[i]-y[j];
long long t3=z[i]-z[j];
return (t1*t1+t2*t2+t3*t3);
}
void dfs(int x){
color[x]=true;
if (End[x]) throw 0;
for (int i=1;i<=n;i++){
if (!color[i] && check(x,i)<=4LL*r*r)
dfs(i);
}
}
int main(){
int cas;
scanf("%d",&cas);
while (cas--){try {
scanf("%ld%ld%ld",&n,&h,&r);
for (int i=1;i<=n;i++)
beg[i]=End[i]=color[i]=false;
for (int i=1;i<=n;i++){
scanf("%ld%ld%ld",&x[i],&y[i],&z[i]);
if (z[i]-r<=0)
beg[i]=true;
if (z[i]+r>=h)
End[i]=true;
}
for (int i=1;i<=n;i++)
if (!color[i] && beg[i])
dfs(i);
printf("No\n");}catch(int n){printf("Yes\n");}
}
return 0;
}