/*
    判斷一個長方體與一個球體是否接觸
    接觸的話也即存在一個點(x,y)成立:
    r*r>=(x-cx)*(x-cx)+(y-cy)*(y-cy)+(z-cz)*(z-cz)
    我們要找到這個離球心最近的點,也即讓各維abs(x-cx)越小!
    分開對待各維(它們互不相關(guān)),
    x=cx;
    if(x>maxx)x=maxx;
    if(x<minx)x=minx;
    這樣的x就是長方體內(nèi)離cx最近的點的x坐標(biāo)了,同理處理!!
*/

#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;
}