Діаграма Вороного#5962

Діаграма Вороного

4 секунди
256 мегабайтів
Дуже складна

На площині потрібно обробити запитів двох типів:

dy = [\text{last\_res}] \bmod 2 — це результат останнього виконаного запиту другого типу, а означає округлення до найближчого цілого. До виконання хоча б одного запиту другого типу, dy=0.

Вхідні дані

У першому рядку задано одне число (1 \le Q \le 200\,000) — кількість запитів. Далі йдуть рядків, кожен з яких містить три цілі числа: t_i, x_i і y_i (1 \le t_i \le 2, 0 \le x_i, y_i \le 1\,000\,000) — тип запиту та координати точки. Гарантується, що для всіх 1 \le i \le Q-1 виконується x_i \le x_{i+1}, а також, що всі введені точки різні, навіть з урахуванням модифікації . Гарантується, що перший запит завжди є запитом першого типу. Гарантується, що не виникне невизначеностей округлення, тобто дробові частини результатів усіх запитів відрізняються від хоча б на 10^{-7}.

Вихідні дані

Для кожного запиту другого типу виведіть в окремому рядку одне дійсне число — відстань від введеної модифікованої точки до найближчої з тих, які на цей момент були додані запитами першого типу. Потрібно, щоб значення були точними з абсолютною або відносною похибкою 10^{-8}.

Приклади

Приклад 1

Loading
Loading