// Hydro submission #[email protected]
#include <bits/stdc++.h>
using namespace std;
typedef unsigned long long u64;
int n;
mt19937_64 Rand(time(0));
u64 val[100005], S[100005];
struct Node {
int p, id, k;
bool operator< (const Node &a) {
if (p == a.p) return k < a.k;
return p < a.p;
}
} a[200005], b[200005];
int main(void) {
scanf("%d", &n);
for (int i = 1, x; i <= n; ++i) {
val[i] = Rand();
scanf("%d", &x); a[i * 2 - 1] = {x, i, 0};
scanf("%d", &x); a[i * 2] = {x, i, 1};
scanf("%d", &x); b[i * 2 - 1] = {x, i, 0};
scanf("%d", &x); b[i * 2] = {x, i, 1};
} sort(a + 1, a + n * 2 + 1); sort(b + 1, b + n * 2 + 1);
u64 V = 0;
for (int i = 1; i <= n * 2; ++i)
if (a[i].k) V ^= val[a[i].id];
else S[a[i].id] ^= V;
V = 0;
for (int i = n * 2; i >= 1; --i)
if (!a[i].k) V ^= val[a[i].id];
else S[a[i].id] ^= V;
V = 0;
for (int i = 1; i <= n * 2; ++i)
if (b[i].k) V ^= val[b[i].id];
else S[b[i].id] ^= V;
V = 0;
for (int i = n * 2; i >= 1; --i)
if (!b[i].k) V ^= val[b[i].id];
else S[b[i].id] ^= V;
bool flag = 1;
for (int i = 1; i <= n; ++i) flag &= S[i] == 0;
return puts(flag ? "Yes" : "No");
}
1302. Deepest Leaves Sum | 1209. Remove All Adjacent Duplicates in String II |
994. Rotting Oranges | 983. Minimum Cost For Tickets |
973. K Closest Points to Origin | 969. Pancake Sorting |
967. Numbers With Same Consecutive Differences | 957. Prison Cells After N Days |
946. Validate Stack Sequences | 921. Minimum Add to Make Parentheses Valid |
881. Boats to Save People | 497. Random Point in Non-overlapping Rectangles |
528. Random Pick with Weight | 470. Implement Rand10() Using Rand7() |
866. Prime Palindrome | 1516A - Tit for Tat |
622. Design Circular Queue | 814. Binary Tree Pruning |
791. Custom Sort String | 787. Cheapest Flights Within K Stops |
779. K-th Symbol in Grammar | 701. Insert into a Binary Search Tree |
429. N-ary Tree Level Order Traversal | 739. Daily Temperatures |
647. Palindromic Substrings | 583. Delete Operation for Two Strings |
518. Coin Change 2 | 516. Longest Palindromic Subsequence |
468. Validate IP Address | 450. Delete Node in a BST |