Диаграмма Вороного
На плоскости поступают Q запросов двух видов:
1 x_i y_i — добавить на плоскость точку (x_i, y_i+dy)
2 x_i y_i — найти расстояние от точки (x_i, y_i+dy) до ближайшей к ней из тех, что были добавлены запросами первого типа.
dy=[last_res] mod 2 - результат последнего выполненного запроса второго типа, а[] означает округление к ближайшему целому. Перед тем, как хотя бы один запрос второго типа выполнен, dy=0.
Входные данные
В первой строке одно число Q (1 ≤ Q ≤ 200000) — количество запросов. Далее Q строк по три целых числа в каждой: t_i, x_i и y_i (1 ≤ t_{i }≤ 2, 0 ≤ x_i, y_{i }≤ 1000000) — тип запроса и координаты точки. Гарантируется, что для всех 1 ≤ i ≤ Q-1 выполняется x_{i }≤ x_i+1, а также, что все введенные точки различные даже с учетом модификации dy. Гарантируется, что первый запрос всегда является запросом первого типа. Гарантируется, что не возникнет неопределенностей округления, а именно, дробные части результатов всех запросов отличаются от 0.5 хотя бы на 10^{-7}.
Выходные данные
Для каждого запроса второго типа в отдельной строке вывести одно вещественное число — расстояние от введенной модифицированной точки до ближайшей из тех, которые к этому моменту поступили в запросах первого типа. Требуемые значение должны быть правильными с абсолютной или относительной погрешностью 10^{-8}.