计算几何
//#include<bits/stdc++.h>
#include<iostream>
#include<cmath>
#include<stdio.h>
using namespace std;
typedef double db;
const db eps=1e-8;
const db pi=acos(-1);
int sign(db x){if(x>eps)return 1;if(x<-eps)return -1;return 0;}
int cmp(db x,db y){return sign(x-y);}
int inmid(db k1,db k2,db k3){return sign(k1-k3)*sign(k2-k3)<=0;}
struct Point{
db x,y;
Point operator + (const Point &a)const{return Point{a.x+x,a.y+y};}
Point operator - (const Point &a)const{return Point{a.x-x,a.y-y};}
Point operator * (db a) const{return (Point){x*a,y*a};}
Point operator / (db a) const{return (Point){x/a,y/a};}
};
db cross(Point p1,Point p2){return p1.x*p2.y-p1.y*p2.x;}
db cross(Point p0,Point p1,Point p2){return cross(p1-p0,p2-p0);}
db dot(Point p1,Point p2){return p1.x*p2.x+p1.y*p2.y;}
struct Line{
Point s,e;
db length(){return sqrt(dot(s-e,s-e));}
};
bool intersect(Line l1,Line l2){
return sign(cross(l2.s,l1.s,l1.e))*sign(cross(l2.e,l1.s,l1.e))<=0;
}
Line A[1000];
int n;
int check(Line x){
if(sign(x.length())==0)return 0;
for(int i=1;i<=n;++i)if(intersect(x,A[i])==0)return 0;
return 1;
}
int main(){
int T;cin>>T;while(T--){
cin>>n;
db x1,y1,x2,y2;
for(int i=1;i<=n;++i){
scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);
A[i]=Line{Point{x1,y1},Point{x2,y2}};
}
int ans=0;
for(int i=1;i<=n&&ans==0;++i){
for(int j=1;j<=n&&ans==0;++j){
if(check(Line{A[i].s, A[j].s}) || check(Line{A[i].s, A[j].e}) ||
check(Line{A[i].e, A[j].s}) || check(Line{A[i].e, A[j].e})){
ans=1;
}
}
}
cout<<(ans?"Yes!":"No!")<<endl;
}
}