#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 endl '\n' #define spc printf(" ") #define nln printf("\n") ///printnewline #define fast_IO ios_base::sync_with_stdio(false); #define Max(a,b,c) max(a,max(b,c)) ///3 ta theke max #define Min(a,b,c) min(a,min(b,c)) ///3 ta theke min #define sqr(x) (x)*(x) #define z(x) fabs(x)=b;i--) #define rev0(i,n) for(i=n-1;i>=0;i--) #define rev1(i,n) for(i=n;i>=1;i--) #define forstl(i,v) for(i=0;i vi; typedef vector vll; typedef vector vs; typedef pair pii; typedef pair pll; #define check(n, pos) (bool)(n & (1LL<<(pos))) ///CHECK #define biton(n, pos) (n | (1LL<<(pos))) ///ON }-bit opr. #define bitoff(n, pos) (n & ~(1LL<<(pos))) ///OFF // reading and writing case #define readcase int cas,kase=0;CI(cas);while((cas--)&&(++kase)) #define printcase printf("Case %d:",kase) //debugging infinite variable bool deb_mode = 0; #define debug(a...) if(deb_mode){cout<<"Line= "<<__LINE__<<" -> ";Dbug,a,#a;Dbug.printall();cout< vars; public: template debugger& operator , ( const T v ) { stringstream ss; ss << v, vars.push_back( ss.str() ); return *this; } void printall() { int j = 0, l = vars.size(); for( int i = 0; i < ( l - 1 ); i++ ) { if( i )cout << ", "; for( ; j < vars[l - 1].size(); j++ ) { if( vars[l - 1][j] == ',' ) {j++; break;} cout << vars[l - 1][j]; } cout << " = " << vars[i]; } vars.clear(); } } Dbug; ///STL printing output stream overloading template inline ostream& operator << ( ostream& os, const pair& p ) { return os << "(" << p.first << "," << p.second << ")"; } template inline ostream &operator << ( ostream & os, const vector& v ) { bool first = true; os << "{"; for( unsigned int i = 0; i < v.size(); i++ ) { if( !first ) os << ","; os << v[i]; first = false; } return os << "}"; } template inline ostream &operator << ( ostream & os, const set& v ) { bool first = true; os << "{"; for ( typename set::const_iterator ii = v.begin(); ii != v.end(); ++ii ) { if( !first ) os << ","; os << *ii; first = false; } return os << "}"; } template inline ostream &operator << ( ostream & os, const map& v ) { bool first = true; os << "{"; for ( typename map::const_iterator ii = v.begin(); ii != v.end(); ++ii ) { if( !first ) os << ","; os << *ii ; first = false; } return os << "}"; } template void getarray( T a[], int b, int e ) { for( int i = b; i < e + b; i++ ) cin >> a[i]; } template void printarray( T a[], int b, int e ) { for( int i = b; i < e - 1 + b; i++ ) cout << a[i] << " "; if( e - 1 + b >= 0 ) cout << a[e - 1 + b] << endl; } template void printV( vector v ) { int sz = v.size(); if( sz ) cout << v[0]; for( int i = 1; i < sz; i++ ) cout << " " << v[i]; nln; } template T gcd( T a, T b ) { if( b == 0 ) return a; return gcd( b, a % b ); } template T BigMod ( T b, T p, T m ) { if ( p == 0 ) return 1; if ( p % 2 == 0 ) { T s = BigMod( b, p / 2, m ); return ( ( s % m ) * ( s % m ) ) % m; } return ( ( b % m ) * ( BigMod( b, p - 1, m ) % m ) ) % m; } template T ModInv ( T b, T m ) { return BigMod( b, m - 2, m ); } pair< i64, pll> ext_gcd( i64 a, i64 b ) { if( b == 0 ) return make_pair( a, make_pair( 1LL, 0LL ) ); pair t = ext_gcd( b, a % b ); return make_pair( t.first, make_pair( t.second.second, t.second.first - a / b * t.second.second ) ); } i64 ModInvNonPrimeM( i64 N, i64 M ) { pair< i64, pll > r = ext_gcd( N, M ); r.second.first %= M; if( r.second.first < 0 ) r.second.first += M; return r.second.first; } template inline void read( T &x ) { bool Minus = 0; char c; for( c = getchar(); c <= 32; c = getchar() ) ; if( c == '-' ) Minus = 1, c = getchar(); for( x = 0; c > 32; c = getchar() ) x = x * 10 + c - '0'; if( Minus ) x = -x; } char getc() { char c; for( c = getchar(); c <= 32; c = getchar() ); return c; } ///input char with buffering int CI( int &_x ) { return scanf( "%d", &_x ); } int CI( int &_x, int &_y ) { return scanf( "%d %d", &_x, &_y ); } int CI( int &_x, int &_y, int &_z ) { return scanf( "%d %d %d", &_x, &_y, &_z ); } int CI( int &_a, int &_b, int &_c, int &_d ) { return scanf( "%d %d %d %d", &_a, &_b, &_c, &_d ); } template inline T1 UMAX( T1 & m, T2 other ) { if( m < other ) m = other; return m; } template inline T1 UMIN( T1 & m, T2 other ) { if( m > other ) m = other; return m; } template string toString( T n ) { ostringstream oss; oss << n; return oss.str(); } int toInt( string s ) { int r = 0; istringstream sin( s ); sin >> r; return r; } i64 toLong( string s ) { i64 r = 0; istringstream sin( s ); sin >> r; return r; } bool isVowel( char ch ) { ch = tolower( ch ); if( ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u' )return true; return false; } bool isUpper( char c ) { return c >= 'A' && c <= 'Z'; } bool isLower( char c ) { return c >= 'a' && c <= 'z'; } int dr8[8] = { +1, -1, +0, +0, +1, -1, -1, +1}; ///8 direction move int dc8[8] = { +0, +0, -1, +1, +1, +1, -1, -1}; int dr4[4] = { +0, +0, +1, -1}; ///4 direction move int dc4[4] = { -1, +1, +0, +0}; ///or adjacent dir. int kn8r[8] = { +1, +2, +2, +1, -1, -2, -2, -1}; ///knight moves int kn8c[8] = { +2, +1, -1, -2, -2, -1, +1, +2}; const double EPS = 1e-9; ///constants const int INF = ( 1 << 30 ) - 1; const i64 LINF = ( 1ll << 62 ) - 1; const int mod = ( int )1e9 + 7; const int MAX = ( int )1e5; ///____________________________Main Coding Starts From Here________________________/// int main() { #ifndef ONLINE_JUDGE // READ("in.txt"); // WRITE("out.txt"); deb_mode = 1; #endif if( deb_mode ) srand( int( time( NULL ) ) ); int i, j, k, l, n, m, q, a, b, c; vector< pii > vp; cin >> n; set< int > X, Y; rep1(i, n){ cin >> a >> b; X.insert(a); Y.insert(b); } if(X.size() == 1 || Y.size() == 1){ cout << "YES\n"; } else cout << "NO\n"; if( deb_mode ) cerr << "EXECUTION TIME = " << ( 1.0 * clock() ) / CLOCKS_PER_SEC << " SECONDS\n"; return 0; }