#include <stdio.h>
#include 
<algorithm>
using namespace std;

struct point {
    
int x, y;
};

bool cmp(point p1, point p2) {
    
return p1.y < p2.y || p1.y == p2.y && p1.x < p2.x;
}

int cross(point p0, point p1, point p2) {
    
return (p1.x - p0.x)*(p2.y - p0.y)-(p1.y - p0.y)*(p2.x - p0.x);
}

void tubao(point *p, int n, point *ch, int &m) {
    
int i, k;
    sort(p, p 
+ n, cmp);
    
for (m = i = 0; i < n; i++) {
        
while (m > 1 && cross(ch[m - 2], ch[m - 1], p[i]) < 0)m--;
        ch[m
++= p[i];
    }
    
if (n = m)return;
    k 
= m;
    
for (i = n - 2; i >= 0; i--) {
        
while (m > k && cross(ch[m - 2], ch[m - 1], p[i]) < 0)m--;
        ch[m
++= p[i];
    }
    
if (n > 1)m--;
}

bool judge(point *p, int n) {
    
if (n < 6)return 0;
    
for (int i = 2; i < n; i++)
        
if (cross(p[0], p[1], p[i]) != 0)return 1;
    
return 0;
}

int main() {
    point p[
1010], ch[1010];
    
int t, n;
    scanf(
"%d"&t);
    
while (t--) {
        scanf(
"%d"&n);
        
for (int i = 0; i < n; i++)
            scanf(
"%d%d"&p[i].x, &p[i].y);
        
bool flag = judge(p, n);
        
if (flag) {
            tubao(p, n, ch, n);
            ch[n] 
= ch[0];
            point a, b;
            
for (int i = 1; flag && i < n;) {
                a 
= ch[i - 1], b = ch[i++];
                flag 
= 0;
                
while (i <= n && cross(a, b, ch[i]) == 0) {
                    flag 
= 1;
                    i
++;
                }
            }
        }
        puts(flag 
? "YES" : "NO");
    }
    
return 0;
}