#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define repeat(i,n) for(int i=0; i<(n); ++i) #define repeat1(i,n) for(int i=1; i<=(n); ++i) #define range(i,l,r) for(int i=(l); i<(r); ++i) using namespace std; typedef long long llint; typedef pair pii; int iin(); llint lin(); double fin(); void input(vector &vp) { int x, y, n = vp.size(); repeat(i, n) { x = iin(); y = iin(); vp[i] = pii(x, y); } } int cross(pii &a, pii &b, pii &c) { return ((a.first - c.first) * (b.second - c.second) - (a.second - c.second) * (b.first - c.first)); } bool if_edge(vector &vp, vector &e) { int n = vp.size(), a = e[0], b = e[1], c, sign; bool flag = false, ans = true; repeat(i, n) { if(a == i || b == i) continue; if((c=cross(vp[a], vp[b], vp[i])) == 0) { e.push_back(i); continue; } if(!flag) { flag = true; sign = c; } else if(c * sign < 0) ans = false; } return ans; } bool solve() { int n = iin(); vector points(n); int x1, x2, y1, y2; input(points); sort(points.begin(), points.end()); x1 = points[0].first; x2 = x1; y1 = points[0].second; y2 = y1; range(i, 1, n) { if(points[i].first < x1) x1 = points[i].first; else if(points[i].first > x2) x2 = points[i].first; if(points[i].second < y1) y1 = points[i].second; else if(points[i].second > y2) y2 = points[i].second; } repeat(i, n) { if(points[i].first != x1 && points[i].first != x2 && points[i].second != y1 && points[i].second != y2) return false; } return true; } int main() { int q = iin(); repeat(i, q) { if(solve()) printf("YES\n"); else printf("NO\n"); } return 0; } ////////////////////////////////////////////////////////////////////////////// int iin() { int x; scanf("%d", &x); return x; } llint lin() { llint x; scanf("%lld", &x); return x; } double fin() { double x; scanf("%lf", &x); return x; }