Кто возьмет билетов пачку,
Тот получит водокачку!
из к/ф <<Бриллиантовая рука>>
Виталий является директором небольшой водопроводной компании. Он работает на водокачке. Водокачка представляет собой цилиндр высотой H метров, изначально целиком заполненный водой.
Водокачка очень старая, поэтому в ней постоянно появляются дыры. Периодически Виталий устраняет некоторые течи. Виталия как директора очень интересует уровень воды в водонапорной башне, но каждый раз лезть по лестнице, чтобы заглянуть в башню, ему не хочется.
Напишите программу, которая могла бы обрабатывать следующие запросы:
Вода вытекает из отверстия, только если уровень воды выше высоты отверстия. Изначально водокачка полна. Скорость вытекания воды v означает, что за единицу времени через отверстие вытекает объем воды, соответствующий v метрам воды в водокачке.
В первой строке входного содержится два целых числа n и H (1≤n≤105; 1≤H≤109) --- количество запросов и высота водонапорной башни. Далее следуют n строк описывающих запросы. В каждой строке первое число k (1≤k≤3) --- номер типа запроса. Далее в строке в зависимости от запроса идут от одного до трех целых чисел из t, h и v (0≤t≤109; 0≤h≤H; 1≤v≤109). Запросы перечислены в порядке увеличения времени и никакие два запроса не имеют одинаковое время.
На каждый запрос третьего типа выведите одно число --- уровень воды в водонапорной башне в соответствующий момент времени.
Ответ должен иметь относительную или абсолютную точность 10−9. Это означает, что если правильный ответ равен a, а выведено p, то значение будет признано правильным, если ∣a−p∣/max(a,1)≤10−9.