#define LOCAL #include using namespace std; typedef long long ll; typedef double D; typedef vector VI; typedef vector VL; typedef pair PII; typedef pair PLL; #define rd(x) scanf("%d",&x) #define rd2(x,y) scanf("%d %d",&x,&y) #define rl(x) scanf("%lld",&x) #define rl2(x,y) scanf("%lld %lld",&x,&y) #define wd(x) printf("%d" ,x) #define wd2(x,y) printf("%d %d",x,y) #define wl(x) printf("%lld",x) #define wl2(x,y) printf("%lld %lld",x,y) #define PC(x) putchar(x) #define GC() getchar() #define NL printf("\n") #define SP printf(" ") #define F first #define S second #define MP make_pair #define PB push_back #define fr(i,s,e) for(int i=s;i=e;i--) #define frv(i,a) for(int i = 0;i<(int)a.size();i++) #define frvr(i,a) for(int i = a.size()-1;i>=0;i--) #define tr(i,a) for(typeof(a.begin()) i = a.begin(); i != a.end();i++) #ifdef LOCAL #define E1(a) cout<<#a<<":" < st; bool b; int main(){ int t; t = 1; rd(t); while(t--){ b = 0; int n; rd(n); fr(i,0,n){ int a,b; rd2(a,b); st.insert(MP(a,b)); } if(int(st.size()<=4))b = 1; else{ n = 0; for(set::iterator it = st.begin();it!=st.end();it++){ x[n] = it->F; x[n] = it->S; n++; } fr(i,0,n){ fr(j,i+1,n){ ll a,b,c; a = y[i]-y[j]; b = x[j]-x[i]; c = y[j]*(x[i]-x[j]) + x[j]*(y[j]-y[i]); bool b1,b2; b1 = b2 = 0; ll mx = 0; fr(k,0,n){ d[k] = a*x[k]+b*y[k] + c; if(d[k]>0){b1 = 1;} else if(d[k]<0){b2 = 1;} mx = max(mx,d[k]); } if(b1&&b2)continue; vector v1,v2; fr(k,0,n){ if(d[k]==0||d[k]==mx)continue; if(v1.empty()){v1.PB(MP(x[k],y[k]));continue;} else{ PII pr = v1.back(); ll aa = pr.F-x[k]; ll bb = pr.S-y[k]; if(b*bb==a*aa){v1.PB(MP(x[k],y[k]));continue;} } if(v2.empty()){v2.PB(MP(x[k],y[k]));continue;} else{ PII pr = v2.back(); ll aa = pr.F-x[k]; ll bb = pr.S-y[k]; if(b*bb==a*aa){v2.PB(MP(x[k],y[k]));continue;} } break; } } } } if(b)cout<<"YES"<