#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 loo(i,a,b) for(auto i=a;i=0;i--) #define sz(a) ((int)(a.size())) #define all(a) a.begin(),a.end() #define in(a,e) ((a).find(e)!=(a).end()) typedef unsigned int ui; typedef long long ll; typedef unsigned long long ull; typedef pair ii; typedef vector vi; typedef vector vui; typedef vector vll; typedef vector vull; typedef vector vvi; typedef vector vii; typedef unordered_set unsi; typedef unordered_map unmii; typedef long double ld; using graph = vector>>; const int mv4[4][2] = { { 0,1 },{ 0,-1 },{ 1,0 },{ -1,0 } }; const int mv8[8][2] = { { 0,1 },{ 0,-1 },{ 1,0 },{ -1,0 },{ 1,1 },{ 1,-1 },{ -1,1 },{ -1,-1 } }; const int inf = (int)1e9; const char *boo[2] = { "NO","YES" }; const char *inv = "Impossible"; inline void term(const string &msg = inv) { cout << msg << endl; exit(0); } const char *fin = "in.txt"; const char *fout = "out.txt"; #define SUBMIT //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! int main() { #ifndef SUBMIT freopen(fin, "r", stdin); freopen(fout, "w", stdout); #endif cin.sync_with_stdio(0); cout.sync_with_stdio(0); int q,n; cin >> q; rep(i,q){ cin>>n; vi x(n),y(n); rep(i, n){ cin >> x[i]>>y[i]; } auto x1=*min_element(all(x)); auto x2=*max_element(all(x)); auto y1=*min_element(all(y)); auto y2=*max_element(all(y)); bool flag=1; rep(i,n){ if( !(x[i]==x1 || x[i]==x2 || y[i]==y1 ||y[i]==y2) ){ flag=0; break; } } cout << boo[flag] << endl; } exit(0); }