#include"string.h"
#include"stdio.h"
#include"iostream"
#include"algorithm"
#include"queue"
#include"stack"
#define M 5009
#define N 100009
#include"stdlib.h"
#include"math.h"
#define inf 10000000000000000LL
#define INF 0x3f3f3f3f
const double PI=acos(-1.0);
#define eps 1e-10
using namespace std;
struct node
{
double x,y;
node (){}
node (double xx,double yy):x(xx),y(yy){}
node operator -(node p)
{
return node (x-p.x,y-p.y);
}
double operator *(node p)
{
return x*p.y-y*p.x;
}
double operator ^(node p)
{
return x*p.x+y*p.y;
}
}p[12],q[12];
int cnt;
struct line
{
node s,e;
}l[111];
double max(double a,double b)
{
return a>b?a:b;
}
double min(double a,double b)
{
return a
}
double cross(node a,node b,node c)
{
return (b-a)*(c-a);
}
double dot(node a,node b,node c)
{
return (b-a)^(c-a);
}
double len(node a)
{
return sqrt(a^a);
}
double dis(node a,node b)
{
return len(b-a);
}
int set_line_intersection(line l,line p)
{
if(dis(l.s,l.e)
return 0;
else if(cross(l.s,l.e,p.s)*cross(l.s,l.e,p.e)
return 1;
else
return 0;
}
int slove(int n)
{
if(n<=2)
return 1;
int i,j,k,flag;
for(i=1;i<=n;i++)
{
flag=1;
for(k=1;k<=n;k++)
{
if(!set_line_intersection(l[i],l[k]))
{
flag=0;
break;
}
}
if(flag)
return 1;
}
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n;j++)
{
line l1;
l1.s=l[i].s;
l1.e=l[j].s;
flag=1;
for(k=1;k<=n;k++)
{
if(!set_line_intersection(l1,l[k]))
{
flag=0;
break;
}
}
if(flag)
return 1;
flag=1;
l1.s=l[i].s;
l1.e=l[j].e;
for(k=1;k<=n;k++)
{
if(!set_line_intersection(l1,l[k]))
{
flag=0;
break;
}
}
if(flag)
return 1;
flag=1;
l1.s=l[i].e;
l1.e=l[j].s;
for(k=1;k<=n;k++)
{
if(!set_line_intersection(l1,l[k]))
{
flag=0;
break;
}
}
if(flag)
return 1;
flag=1;
l1.s=l[i].e;
l1.e=l[j].e;
for(k=1;k<=n;k++)
{
if(!set_line_intersection(l1,l[k]))
{
flag=0;
break;
}
}
if(flag)
return 1;
}
}
return 0;
}
int main()
{
int T,n,i;
cin>>T;
while(T--)
{
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%lf%lf%lf%lf",&l[i].s.x,&l[i].s.y,&l[i].e.x,&l[i].e.y);
if(slove(n))
printf("Yes!\n");
else
printf("No!\n");
}
return 0;
}