1+ #include < bits/stdc++.h>
2+
3+ using namespace std ;
4+
5+ int const N = 6 ;
6+ long long x1[N], y[N], x2[N], y2[N];
7+
8+ long long intersect_area (int rect1, int rect2, int save) {
9+ long long max_x = min (x2[rect1], x2[rect2]);
10+ long long min_x = max (x1[rect1], x1[rect2]);
11+ long long x_diff = max_x - min_x;
12+
13+ long long max_y = max (y[rect1], y[rect2]);
14+ long long min_y = min (y2[rect1], y2[rect2]);
15+ long long y_diff = min_y - max_y;
16+
17+ if (x_diff < 0 || y_diff < 0 )
18+ return 0 ;
19+
20+ x2[save] = max_x;
21+ y2[save] = min_y;
22+ x1[save] = min_x;
23+ y[save] = max_y;
24+
25+ return x_diff * y_diff;
26+ }
27+
28+ long long rectangle_area () {
29+ return (x2[0 ] - x1[0 ]) * (y2[0 ] - y[0 ]);
30+ }
31+
32+ int main () {
33+ #ifndef ONLINE_JUDGE
34+ freopen (" in" , " r" , stdin);
35+ #endif
36+
37+ for (int i = 0 ; i < 3 ; ++i)
38+ scanf (" %lld %lld %lld %lld" , x1 + i, y + i, x2 + i, y2 + i);
39+
40+ long long _01 = intersect_area (0 , 1 , 3 );
41+ long long _02 = intersect_area (0 , 2 , 4 );
42+ long long _34 = intersect_area (3 , 4 , 5 );
43+
44+ if (_01 == rectangle_area () || _02 == rectangle_area ())
45+ puts (" NO" );
46+ else if (_01 == 0 || _02 == 0 )
47+ puts (" YES" );
48+ else if (_01 + _02 - _34 < rectangle_area ())
49+ puts (" YES" );
50+ else
51+ puts (" NO" );
52+
53+ return 0 ;
54+ }
0 commit comments