#pragma GCC optimize ("Ofast") #include using namespace std; inline void rd(int &x){ int k, m=0; x=0; for(;;){ k = getchar_unlocked(); if(k=='-'){ m=1; break; } if('0'<=k&&k<='9'){ x=k-'0'; break; } } for(;;){ k = getchar_unlocked(); if(k<'0'||k>'9'){ break; } x=x*10+k-'0'; } if(m){ x=-x; } } inline void wt_L(char a){ putchar_unlocked(a); } inline void wt_L(const char c[]){ int i=0; for(i=0;c[i]!='\0';i++){ putchar_unlocked(c[i]); } } int N; int X1[20]; int Y1[20]; int X2[20]; int Y2[20]; int ok(int a, int b, int c, int d){ int i; for(i=0;i<(N);i++){ if(a==X1[i] && b==Y1[i]){ a = X2[i]; b = Y2[i]; } } if(a==c && b==d){ return 1; } return 0; } int main(){ rd(N); { int Lj4PdHRW; for(Lj4PdHRW=0;Lj4PdHRW<(N);Lj4PdHRW++){ rd(X1[Lj4PdHRW]); rd(Y1[Lj4PdHRW]); rd(X2[Lj4PdHRW]); rd(Y2[Lj4PdHRW]); } } if(!ok(2,8,5,8)){ wt_L("NO"); wt_L('\n'); return 0; } if(!ok(3,9,4,8)){ wt_L("NO"); wt_L('\n'); return 0; } if(!ok(7,9,6,8)){ wt_L("NO"); wt_L('\n'); return 0; } wt_L("YES"); wt_L('\n'); return 0; } // cLay varsion 20190830-1 // --- original code --- // int N, X1[20], Y1[20], X2[20], Y2[20]; // // int ok(int a, int b, int c, int d){ // int i; // rep(i,N) if(a==X1[i] && b==Y1[i]) a = X2[i], b = Y2[i]; // if(a==c && b==d) return 1; // return 0; // } // // { // rd(N,(X1,Y1,X2,Y2)(N)); // if(!ok(2,8,5,8)) wt("NO"), return 0; // if(!ok(3,9,4,8)) wt("NO"), return 0; // if(!ok(7,9,6,8)) wt("NO"), return 0; // wt("YES"); // }