/*
    题意:求是否存在一条直线,使所有线段到这条直线的投影至少有一个交点
    可以在共同投影处作原直线的垂线,则该垂线与所有线段都相交
    <==> 是否存在一条直线与所有线段都相交

    可以枚举线段的端点作为直线的(注意如果相同构不成直线)
    然后判断所有线段是否都与之相交

    这种做法我也不是很懂,可能这条直线能将所有点分成位于直线两端的两部分吧
*/

#include
<cstdio>
#include
<cstdlib>
#include
<cmath>

const double esp=1e-8;
const int MAXN=210;

struct Point{
    
double x,y;
}
points[MAXN];

bool isEqual(double &a,double &b){
    
return fabs(a-b)<esp;
}

double mul(Point &a,Point &b,Point &o){
    
return (a.x-o.x)*(b.y-o.y)-(b.x-o.x)*(a.y-o.y);
}

int main(){
    
//freopen("in","r",stdin);
    int T,n;
    scanf(
"%d",&T);
    
while(T--){
        scanf(
"%d",&n);
        
for(int i=1;i<=2*n;i+=2)
            scanf(
"%lf%lf%lf%lf",&points[i].x,&points[i].y,&points[i+1].x,&points[i+1].y);

        
bool flag=false;
        
for(int i=1;i<=2*n&&!flag;i++)//enum line
            for(int j=1;j<=2*n;j++){
                Point p1
=points[i],p2=points[j];
                
if(isEqual(p1.x,p2.x)&&isEqual(p1.y,p2.y))continue;
                
//chk
                int k;
                
for(k=1;k<=2*n;k+=2)
                    
if(mul(points[k],p1,p2)*mul(points[k+1],p1,p2)>esp)break;
                
if(k>=2*n){flag=true;break;}
            }

        printf(flag
?"Yes!\n":"No!\n");
    }

    
return 0;
}