#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define ff first #define ss second #define all(data) data.begin(),data.end() #define mp(a,b) make_pair(a,b) #define mt make_tuple #define sig cout << "reached" << endl; #define parr(data) {for(int it = 0; it < data.size(); it++) cout << data[it] << " "; cout << endl;} #define forr(i,s,e) for(int i=s;i=e;i--) #define sd(x) scanf("%d",&x); #define slld(x) scanf("%lld",&x); #define sf(x) scanf("%Lf",&x); #define sc(x) scanf(" %c",&x); #define pd(x) printf("%d\n",x); #define pd_(x) printf("%d ",x); #define plld(x) printf("%lld\n",x); #define nl printf("\n"); typedef unsigned long long int llu; typedef long long int ll; typedef pair pii; typedef pair pll; int inf = 1000000005; ll llinf = 4000000000000000005LL; ll mod = 1000000007; double pi = 3.1415926535897; int dx[] = { 1, 1, -1, -1 }; int dy[] = { 1, -1, 1, -1 }; typedef vector vi; typedef vector vvi; typedef vector vl; typedef vector vvl; typedef vector vb; typedef vector vvb; typedef vector vpi; typedef vector vpl; typedef vector vvpi; typedef vector vvpl; typedef vector vc; vb isprime; vi primes; void seive(int n, bool wantlist = true){ isprime.resize(n + 1, true); isprime[0] = isprime[1] = false; int sq = sqrt(n + 1); forr(i, 2, sq + 1){ if (isprime[i]){ for (int j = i*i; j <= n; j += i) isprime[j] = false; } } for (int i = 2; wantlist && i <= n; i++){ if (isprime[i]) primes.push_back(i); } } template inline T gcd(T a, T b){ while (b > 0){ a %= b; swap(a, b); } return a; } template inline T lcm(T a, T b){ return a*b / gcd(a, b); } template inline vector operator+(vector& a, vector& b) {assert(a.size() == b.size()); int n = a.size(); vector c(n); for(int i = 0; i < n; i++) c[i] = a[i] + b[i]; return c; } inline ll bexp(ll x, ll n){ ll res = 1; x %= mod; while (n){ if (n & 1) res = res * x % mod; x = x * x % mod; n >>= 1; } return res; } inline bool ispalin(string& str){ int n = str.length(); for(int i = 0; i < n / 2; i++) if(str[i] != str[n - i - 1]) return false; return true; } //*********************************************************************************** int main(){ ///freopen("i.in", "r", stdin); int q; sd(q); while(q--){ int n; sd(n); vi x(n), y(n); forr(i, 0, n){ sd(x[i]); sd(y[i]); } int u = *max_element(all(y)), d = *min_element(all(y)), l = *min_element(all(x)), r = *max_element(all(x)); bool ans = true; //if(u == d || l == r) ans = false; for(int i = 0; i < n && ans; i++){ if((x[i] != l && x[i] != r) && (y[i] != u && y[i] != d)) ans = false; } if(ans) cout << "YES" << endl; else cout << "NO" <