#include<stdio.h>
#include <math.h>
#define eps 1e-8
#define zero(x) (((x)>0?(x):-(x))<eps)
typedef struct point
{
double x,y,z;
}point;
int main()
{
int T;
double h1,r1,x1,y1,z1,tmp,s1,s2;
double h2,r2,x2,y2,z2,x3,y3,z3;
point tufei,jingcha,fangxiang,a,b;
scanf("%d",&T);
while(T--)
{
scanf("%lf %lf %lf %lf %lf",&h1,&r1,&x1,&y1,&z1);
tufei.x=x1,tufei.y=y1,tufei.z=(h1+z1-r1);
scanf("%lf %lf %lf %lf %lf %lf %lf %lf",&h2,&r2,&x2,&y2,&z2,&x3,&y3,&z3);
jingcha.x=x2,jingcha.y=y2,jingcha.z=0.9*h2-r2+z2;
fangxiang.x=x3,fangxiang.y=y3,fangxiang.z=z3;
a.x=tufei.x-jingcha.x;
a.y=tufei.y-jingcha.y;
a.z=tufei.z-jingcha.z;
b.x=fangxiang.y*a.z-fangxiang.z*a.y;
b.y=fangxiang.z*a.x-fangxiang.x*a.z;
b.z=fangxiang.x*a.y-fangxiang.y*a.x;
s1=sqrt(b.x*b.x+b.y*b.y+b.z*b.z);
s2=sqrt(fangxiang.x*fangxiang.x+fangxiang.y*fangxiang.y+fangxiang.z*fangxiang.z);
tmp=s1/s2;
if(tmp<=r1&&(fangxiang.x*a.x+fangxiang.y*a.y+fangxiang.z*a.z)>0)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
#include <math.h>
#define eps 1e-8
#define zero(x) (((x)>0?(x):-(x))<eps)
typedef struct point
{
double x,y,z;
}point;
int main()
{
int T;
double h1,r1,x1,y1,z1,tmp,s1,s2;
double h2,r2,x2,y2,z2,x3,y3,z3;
point tufei,jingcha,fangxiang,a,b;
scanf("%d",&T);
while(T--)
{
scanf("%lf %lf %lf %lf %lf",&h1,&r1,&x1,&y1,&z1);
tufei.x=x1,tufei.y=y1,tufei.z=(h1+z1-r1);
scanf("%lf %lf %lf %lf %lf %lf %lf %lf",&h2,&r2,&x2,&y2,&z2,&x3,&y3,&z3);
jingcha.x=x2,jingcha.y=y2,jingcha.z=0.9*h2-r2+z2;
fangxiang.x=x3,fangxiang.y=y3,fangxiang.z=z3;
a.x=tufei.x-jingcha.x;
a.y=tufei.y-jingcha.y;
a.z=tufei.z-jingcha.z;
b.x=fangxiang.y*a.z-fangxiang.z*a.y;
b.y=fangxiang.z*a.x-fangxiang.x*a.z;
b.z=fangxiang.x*a.y-fangxiang.y*a.x;
s1=sqrt(b.x*b.x+b.y*b.y+b.z*b.z);
s2=sqrt(fangxiang.x*fangxiang.x+fangxiang.y*fangxiang.y+fangxiang.z*fangxiang.z);
tmp=s1/s2;
if(tmp<=r1&&(fangxiang.x*a.x+fangxiang.y*a.y+fangxiang.z*a.z)>0)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}