Вода
Хто візьме квитків пачку, Той отримає водокачку!
з к/ф «Діамантова рука»
Віталій є директором невеликої водопровідної компанії. Він працює на водокачці, яка має форму циліндра висотою H метрів і спочатку повністю заповнена водою.
Водокачка дуже стара, тому в ній постійно з'являються дірки. Періодично Віталій усуває деякі протікання. Як директор, він дуже зацікавлений у рівні води у водонапірній башті, але кожного разу лізти по драбині, щоб перевірити, йому не хочеться.
Напишіть програму, яка могла б обробляти такі запити:
У момент часу t з'явилася теча на висоті h зі швидкістю витікання води v.
У момент часу t Віталій усунув усі течі на висоті h.
У момент часу t Віталій хотів би дізнатися рівень води.
Вода витікає з отвору, тільки якщо рівень води вищий за висоту отвору. Спочатку водокачка повна. Швидкість витікання води v означає, що за одиницю часу через отвір витікає об'єм води, що відповідає v метрам води у водокачці.
Вхідні дані
У першому рядку містяться два цілі числа n і H (1 ≤ n ≤ 10^5; 1 ≤ H ≤ 10^9) — кількість запитів і висота водонапірної башти. Далі слідують n рядків, що описують запити. У кожному рядку перше число k (1 ≤ k ≤ 3) — номер типу запиту. Далі в рядку залежно від запиту йдуть від одного до трьох цілих чисел з t, h і v (0 ≤ t ≤ 10^9; 0 ≤ h ≤ H; 1 ≤ v ≤ 10^9). Запити перелічені в порядку збільшення часу, і жодні два запити не мають однаковий час.
Вихідні дані
На кожен запит третього типу виведіть одне число — рівень води у водонапірній башті у відповідний момент часу.
Відповідь повинна мати відносну або абсолютну точність 10^{-9}. Це означає, що якщо правильна відповідь дорівнює a, а виведено p, то значення буде визнано правильним, якщо |a - p|/ max(a, 1) ≤ 10^{-9}.