#include #include #include int main() { size_t N; size_t xLB, xRB; scanf("%zu %zu %zu", &N, &xLB, &xRB); size_t H = 1680; size_t W = 1280; std::vector> g(H+1, std::vector(W+1)); for (size_t i = 1; i <= N; ++i) { int XL, YU, XR, YD; scanf("%d %d %d %d", &XL, &YU, &XR, &YD); XL = std::max(1, XL); YU = std::max(1, YU); XR = std::min(W, XR); YD = std::min(H, YD); g[YU-1][XL-1] += i; g[YD][XL-1] -= i; g[YU-1][XR] -= i; g[YD][XR] += i; } for (size_t i = 1; i <= H; ++i) for (size_t j = 0; j <= W; ++j) g[i][j] += g[i-1][j]; for (size_t i = 0; i <= H; ++i) for (size_t j = 1; j <= W; ++j) g[i][j] += g[i][j-1]; std::vector res(N); for (size_t j = xLB; j < xRB; ++j) { for (size_t i = H; i--;) { if (g[i][j] == 0) continue; res[g[i][j]-1] = 1; break; } } for (size_t i = 0; i < N; ++i) printf("%d\n", res[i]); }