6. Робот-пылесос

Не решаласьСредняя

Костя живёт в прямоугольной комнате размером w×hw \times h с четырьмя углами, пронумерованными от 1 до 4 (1 — внизу слева, 2 — внизу справа, 3 — вверху справа, 4 — вверху слева). Нижний левый угол имеет координаты (0, 0), а верхний правый угол — координаты (ww, hh).

Для уборки комнаты Костя хочет использовать робот-пылесос, который может перемещаться по комнате в любом направлении. Робот-пылесос можно представить в виде окружности.

В комнате, помимо четырёх углов, есть мебель, с которой роботу-пылесосу лучше не сталкиваться. Вся мебель в комнате Кости круглая, каждый объект можно представить окружностью с центром в точке (xi,yi)(x_i, y_i) и радиусом rir_i. Гарантируется, что окружности мебели не пересекаются между собой и не пересекаются со стенами комнаты.

Для выбора робота-пылесоса Костя делает mm специальных расчётов. А именно: он подсчитывает, до каких углов сможет доехать, не врезавшись в мебель или стену, робот-пылесос радиусом rr, если начнёт в углу с номером ss. Помогите Косте.

Силой трения в задаче можно пренебречь (иначе говоря, все объекты в комнате могут касаться друг друга, но не могут иметь положительную площадь пересечения). Считается, что робот радиусом rr находится в углу, если он касается обеих стен угла одновременно.

Гарантируется, что любой пылесос в запросе находится ближе к углу, чем любая мебель, а также не пересекается с никакой мебелью.

Формат ввода

Первая строка ввода содержит два целых числа nn и mm (1n20001 \le n \le 2\,000, 1m1000001 \le m \le 100\,000) — количество элементов мебели в комнате и количество расчётов Кости.

Вторая строка ввода содержит два целых числа ww и hh (1w,h1091 \le w, h \le 10^9) — ширину и длину комнаты.

После этого вводится nn строк, которые описывают мебель. Каждая строка содержит три целых числа xix_i, yiy_i и rir_i (0xiw,0yih,1rimin(w,h)0 \le x_i \le w, 0 \le y_i \le h, 1 \le r_i \le \min(w, h)) и описывает соответствующую окружность — координаты центра и радиус.

Наконец, есть mm строк, которые описывают расчёты. Каждая строка содержит два целых числа rr и ss (1rmin(w,h),1s41 \le r \le \min(w, h), 1 \le s \le 4) — радиус пылесоса и номер угла.

Формат вывода

Вы должны вывести для каждого пылесоса одну строку, содержащую номера углов, до которых они могут добраться, в отсортированном порядке без пробелов между ними.

Примечание

В первом тесте задана комната размером 6×66 \times 6, в которой левая и правая половины разделены «стенкой» из трёх окружностей радиусом 1. Таким образом, пылесосы радиуса 1, начинающие в левой половине комнаты (углы 1, 4), не доедут до правой (углы 2, 3), и наоборот.

Во втором тесте по центру комнаты стоит один объект. Первый пылесос может объехать его вдоль стен комнаты, возможно касаясь стен или объекта в определенные моменты и посетить каждый угол. У второго пылесоса это не получится.

Ограничения

Ограничение времени

2 с

Ограничение памяти

512 МБ

Пример 1

Ввод
3 4
6 6
3 1 1
3 3 1
3 5 1
1 1
1 2
1 3
1 4
Вывод
14
23
23
14

Пример 2

Ввод
1 2
22 22
11 11 5
3 1
4 1
Вывод
1234
1

Теги

Нужно войти, чтобы отправить решение.Войти