eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Вода

Вода

\textit{Кто возьмет билетов пачку, Тот получит водокачку!} \textit{из к/ф <<Бриллиантовая рука>>} Виталий является директором небольшой водопроводной компании. Он работает на водокачке. Водокачка представляет собой цилиндр высотой \textbf{H} метров, изначально целиком заполненный водой. Водокачка очень старая, поэтому в ней постоянно появляются дыры. Периодически Виталий устраняет некоторые течи. Виталия как директора очень интересует уровень воды в водонапорной башне, но каждый раз лезть по лестнице, чтобы заглянуть в башню, ему не хочется. Напишите программу, которая могла бы обрабатывать следующие запросы: \begin{enumerate} \item В момент времени \textbf{t} появилась течь на высоте \textbf{h} со скоростью вытекания воды \textbf{v}. \item В момент времени \textbf{t} Виталий устранил все течи на высоте \textbf{h}. \item В момент времени \textbf{t} Виталий хотел бы узнать уровень воды. \end{enumerate} Вода вытекает из отверстия, только если уровень воды выше высоты отверстия. Изначально водокачка полна. Скорость вытекания воды \textbf{v} означает, что за единицу времени через отверстие вытекает объем воды, соответствующий \textbf{v} метрам воды в водокачке. \InputFile В первой строке содержится два целых числа \textbf{n} и \textbf{H} (\textbf{1} ≤ \textbf{n} ≤ \textbf{10^5}; \textbf{1} ≤ \textbf{H} ≤ \textbf{10^9}) --- количество запросов и высота водонапорной башни. Далее следуют \textbf{n} строк описывающих запросы. В каждой строке первое число \textbf{k} (\textbf{1} ≤ \textbf{k} ≤ \textbf{3}) --- номер типа запроса. Далее в строке в зависимости от запроса идут от одного до трех целых чисел из \textbf{t}, \textbf{h} и \textbf{v} (\textbf{0} ≤ \textbf{t} ≤ \textbf{10^9}; \textbf{0} ≤ \textbf{h} ≤ \textbf{H}; \textbf{1} ≤ \textbf{v} ≤ \textbf{10^9}). Запросы перечислены в порядке увеличения времени и никакие два запроса не имеют одинаковое время. \OutputFile На каждый запрос третьего типа выведите одно число --- уровень воды в водонапорной башне в соответствующий момент времени. Ответ должен иметь относительную или абсолютную точность \textbf{10^\{-9\}}. Это означает, что если правильный ответ равен \textbf{a}, а выведено \textbf{p}, то значение будет признано правильным, если \textbf{|a -p |/ max(a, 1)} ≤ \textbf{10^\{-9\}}.
Ліміт часу 2 секунди
Ліміт використання пам'яті 64 MiB
Вхідні дані #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