/*
    判断一个长方体与一个球体是否接触
    接触的话也即存在一个点(x,y)成立:
    r*r>=(x-cx)*(x-cx)+(y-cy)*(y-cy)+(z-cz)*(z-cz)
    我们要找到这个离球心最近的点,也即让各维abs(x-cx)越小!
    分开对待各维(它们互不相关),
    x=cx;
    if(x>maxx)x=maxx;
    if(x<minx)x=minx;
    这样的x就是长方体内离cx最近的点的x坐标了,同理处理!!
*/

#include
<cstdio>

inline 
int min(int a,int b){return a<b?a:b;}
inline 
int max(int a,int b){return a>b?a:b;}

int main()
{
    
int T;
    scanf(
"%d",&T);
    
while(T--)
    
{
        
int x,y,z,cx,cy,cz,r;
        
int minx,maxx,miny,maxy,minz,maxz;
        scanf(
"%d%d%d",&x,&y,&z);
        minx
=maxx=x;
        miny
=maxy=y;
        minz
=maxz=z;
        
for(int i=1;i<8;i++)
        
{
            scanf(
"%d%d%d",&x,&y,&z);
            minx
=min(x,minx);maxx=max(x,maxx);
            miny
=min(y,miny);maxy=max(y,maxy);
            minz
=min(z,minz);maxz=max(z,maxz);
        }

        scanf(
"%d%d%d%d",&cx,&cy,&cz,&r);
        x
=cx,y=cy,z=cz;
        
if(x>maxx)x=maxx;
        
if(x<minx)x=minx;
        
if(y>maxy)y=maxy;
        
if(y<miny)y=miny;
        
if(z>maxz)z=maxz;
        
if(z<minz)z=minz;
        puts((
long long)r*r>=(long long)(x-cx)*(x-cx)+(long long)(y-cy)*(y-cy)+(long long)(z-cz)*(z-cz)?"Yes":"No");
    }

    
return 0;
}