#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int lint; typedef pair IP; typedef pair LLP; typedef pairCP; #define rep(i, n) for (int i = 0; i < n; i++) #define repr(i, n) for (int i = n; i >= 0; i--) #define sort(v) sort((v).begin(), (v).end()) #define reverse(v) reverse((v).begin(), (v).end()) #define upper(v,hoge) upper_bound(v.begin(),v.end(),hoge) #define lower(v,hoge) lower_bound(v.begin(),v.end(),hoge) #define llower(v,hoge) *lower_bound(v.begin(), v.end(), hoge) #define lupper(v,hoge) *upper_bound(v.begin(), v.end(), hoge) int main() { int N; cin >> N; vectorXY1(N); vectorXY2(N); rep(i, N) { cin >> XY1[i].first >> XY1[i].second >> XY2[i].first >> XY2[i].second; } IP n1, n2, n3; n1 = make_pair(2, 8); n2 = make_pair(3, 9); n3 = make_pair(7, 9); rep(i, N) { if (n1 == XY1[i]) { n1 = XY2[i]; } else if (n2 == XY1[i]) { n2 = XY2[i]; } else if (n3 == XY1[i]) { n3 = XY2[i]; } } IP m1, m2, m3; m1 = make_pair(5, 8); m2 = make_pair(4, 8); m3 = make_pair(6, 8); if (n1 == m1 && n2 == m2 && n3 == m3) { cout << "YES" << endl; } else { cout << "NO" << endl; } }