#include using namespace std; #define mt(a,x,b) memset(a,x,sizeof a) #define mem(a) memset(a,0,sizeof a) #define lp(i,n) for(i=0;i #define imn INT_MAX #define imx INT_MIN #define sc scanf #define pt(tc) printf("Case %d: ",tc++) #define ptt(tc) printf("Case %d:\n",tc++) #define pf printf #define op(n) cout< inline T on(T n, T pos){return n | (1< inline T check(T n, T pos){return (bool) n&(1< inline T gcd(T a, T b){if(b==0)return a ;else return gcd(b,a%b);} //template inline T bigmod(T p,T e,T M){ll ret = 1;for(; e > 0; e >>= 1){if(e & 1) ret = (ret * p) % M;p = (p * p) % M;}return (T)ret;} //template inline T modinverse(T a,T M){return bigmod(a,M-2,M);} //template inline T lcm(T a, T b) {return a*b/gcd(a,b);} //template inline T diff(T x2,T x1, T y2 ,T y1 ){double x ,y; x=((x2-x1)*(x2-x1)); y = ((y2-y1)*(y2-y1));return sqrt(x+y);} //int dx[]={1,1,0,-1,-1,-1,0,1};int dy[]={0,1,1,1,0,-1,-1,-1}; //int dxh[]={2,1,-1,-2,-2,-1,1,2};int dyh[]={1,2,2,1,-1,-2,-2,-1}; //int toInt(string s){int sm;stringstream ss(s);ss>>sm;return sm;} //int toLlint(string s){long long int sm;stringstream ss(s);ss>>sm;return sm;} //string toStr(int number) {string Str; ostringstream convert; convert<< number;Str = convert.str(); } int n; set st1,st2; int main() { int i,j,t,tc=1,a,b; sc("%d ",&n); lp(i,n) { sc("%d %d",&a,&b); st1.insert(a),st2.insert(b); } if(st1.size()==1||st2.size()==1) pf("YES\n"); else pf("NO\n"); return 0; }