시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 512 MB0000.000%

문제

Кто возьмет билетов пачку,
Тот получит водокачку!


из к/ф <<Бриллиантовая рука>>

Виталий является директором небольшой водопроводной компании. Он работает на водокачке. Водокачка представляет собой цилиндр высотой $H$ метров, изначально целиком заполненный водой.

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

Напишите программу, которая могла бы обрабатывать следующие запросы:

  1. В момент времени $t$ появилась течь на высоте $h$ со скоростью вытекания воды $v$.
  2. В момент времени $t$ Виталий устранил все течи на высоте $h$.
  3. В момент времени $t$ Виталий хотел бы узнать уровень воды.

Вода вытекает из отверстия, только если уровень воды выше высоты отверстия. Изначально водокачка полна. Скорость вытекания воды $v$ означает, что за единицу времени через отверстие вытекает объем воды, соответствующий $v$ метрам воды в водокачке.

입력

В первой строке входного содержится два целых числа $n$ и $H$ ($1 \le n \le 10^5$; $1 \le H \le 10^9$) --- количество запросов и высота водонапорной башни. Далее следуют $n$ строк описывающих запросы. В каждой строке первое число $k$ ($1 \le k \le 3$) --- номер типа запроса. Далее в строке в зависимости от запроса идут от одного до трех целых чисел из $t$, $h$ и $v$ ($0 \le t \le 10^9$; $0 \le h \le H$; $1 \le v \le 10^9$). Запросы перечислены в порядке увеличения времени и никакие два запроса не имеют одинаковое время.

출력

На каждый запрос третьего типа выведите одно число --- уровень воды в водонапорной башне в соответствующий момент времени.

Ответ должен иметь относительную или абсолютную точность $10^{-9}$. Это означает, что если правильный ответ равен $a$, а выведено $p$, то значение будет признано правильным, если $|a-p| / \max(a, 1) \le 10^{-9}$.

예제 입력 1

6 10
1 0 1 2
3 1
3 2
2 3 1
3 4
3 5

예제 출력 1

8.0
6.0
4.0
4.0