#include<cstdio>
#include<iostream>
#include<cmath>
#include <setjmp.h>
using namespace std;
int x[1005],y[1005],z[1005],n,h,r;
char 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);
}
jmp_buf jp ;
void dfs(int x){
if (beg[x]&64) longjmp(jp,1);
beg[x]=2;
for (int i=1;i<=n;i++){
if (!(63&beg[i]) && check(x,i)<=4LL*r*r)
dfs(i);
}
}
int main(){
int cas; goto a;b:
scanf("%d",&cas);
while (cas--){if(1) {
scanf("%ld%ld%ld",&n,&h,&r);
for (int i=1;i<=n;i++);
for (int i=1;i<=n;i++){
beg[i]=false;
scanf("%ld%ld%ld",&x[i],&y[i],&z[i]);
if (z[i]-r<=0)
beg[i]|=1;
if (z[i]+r>=h)
beg[i]|=64;
}
for (int i=1;i<=n;i++)
if (beg[i]==1)
dfs(i);
printf("No\n");}else{a:if(!setjmp(jp))goto b;printf("Yes\n");}
}
return 0;
}