Купання Містера 01011
В один прохолодний вечір Містер 01011 захотів покупатися в своєму резервуарі з деякою рідиною густини ρ. Але ця рідина була надзвичайно холодною, тому купатися було неможливим. Тоді, щоб провести якнайбільше часу в своєму чарівному резервуарі, який складається з N відділень різної густини , Містер 01011 придумав провести пару експериментів з плавання тіл в резервуарі (цим тілам температура рідин в резервуарі байдужа). Кожне тіло має вмонтований пристрій, який дозволяє миттєво збільшувати чи зменшувати об'єм тіла. Тіло – звичайний куб з заданою густиною та довжиною ребра. При зануренні тіла у деякий резервуар деяка частина тіла виявиться зануреною. Вас буде цікавити власне об’єм зануреної частини тіла.
Кожен експеримент складається з наступних випадків:
Покласти тіло в деякий резервуар (INS)
Забрати тіло з деякого резервуару (DEL)
Приклеїти до деякого тіла з деякого резервуару тіло такої самої густини деякого об'єму Y (INC)
Відрізати від деякого тіла з деякого резервуарі частину тіла деякого об'єму Y (DEC)
Для кожного тіла, яке лежить в резервуарах [L, R], треба порахувати об’єм зануреної його частини, і потім результатом на запит буде сума усіх об’ємів занурених частин (CALC).
Усі процеси відбуваються при сталих температурі та тиску.
Вхідні дані
На вхід подається ціле число N (N ≤ 10^5) – кількість резервуарів. У наступних N рядках задано густину рідини у кожному резервуарі ρ_i кг/м^3 (1 ≤ ρ_i ≤ 20000, дійсне число). У наступному рядку задано число Q (Q ≤ 10^5) – кількість експериментів. Кожний з наступних Q рядків має один з наступних виглядів:
INS X Y Z – де X – номер резервуару в який поміщають тіло (ціле число), Y – густина тіла (1 ≤ Y ≤ 20000, дійсне число, в кг/м^3), Z – сторона ребра куба (1 ≤ Z ≤ 1000, дійсне число, задано в метрах).
DEL X – де X (ціле число) – порядковий номер куба, який треба забрати з деякого резервуару. Якщо цей куб ще не покладено у ніякий резервуар, дану команду потрібно ігнорувати.
INC X Y – де X (ціле число) – порядковий номер куба, який збільшується в обємі, Y (1 ≤ Y ≤ 10^9, дійсне число, в м^3) – величина збільшення об’єму. Якщо цей куб ще не було покладено у деякий резервуар чи уже було забрано з нього, то дану команду ігнорувати.
DEC X Y – де X (ціле число) – порядковий номер куба, який зменшується у об'ємі, Y (1 ≤ Y ≤ 10^9, дійсне число, в м^3) – величина зменшення об’єму. Якщо цей куб ще не було покладено у деякий резервуар чи уже було забрано з нього, то дану команду ігнорувати. Якщо тіло має об’єм, менший за Y, то просто вважати, що в резервуарі знаходиться тіло масою 0 та об’ємом 0.
CALC L R – де L, R (1 ≤ L, R ≤ N) – цілі числа. Порахувати сумарний об’єм занурених частин тіл, що знаходяться у резервуарах з номерами від L до R.
Кожен резервуар має достатню кількість місця, щоб рідина з нього при зануренні не виливалася. Тіла отримають порядкові номера починаючи з 1 у тій послідовності, у якій вони ідуть у запитах INS.
Вихідні дані
Після кожного запиту вивести відповідь на запит CALC 1 N у новому рядку, а також додатково після запитів типу CALC виводити з нового рядочка відповідь на нього. Тобто, якщо поступив запит CALC L R, то спочатку надати відповідь на запит типу CALC 1 N, а потім з нового рядочку на запит CALC L R.
Відповіді на запити виводити з точністю не менше 4 знаків після коми.
Пояснення до прикладу: У нас є 5 резервуарів з густиною 1000. Також є 10 запитів.
INS 1 800 2 – виконуємо даний запит та на екран виводимо результат запиту CALC 1 5
INC 1 4 - виконуємо даний запит та на екран виводимо результат запиту CALC 1 5
DEL 2 - виконуємо даний запит та на екран виводимо результат запиту CALC 1 5
INS 3 1200 5 - виконуємо даний запит та на екран виводимо результат запиту CALC 1 5
INS 4 300 10 - виконуємо даний запит та на екран виводимо результат запиту CALC 1 5
DEC 2 25 - виконуємо даний запит та на екран виводимо результат запиту CALC 1 5
CALC 1 3 – виводимо на екран результат запиту CALC 1 5 а тоді виконуємо даний запит
INC 3 500 - виконуємо даний запит та на екран виводимо результат запиту CALC 1 5
CALC 3 4 3 – виводимо на екран результат запиту CALC 1 5 а тоді виконуємо даний запит
DEL 1 - виконуємо даний запит та на екран виводимо результат запиту CALC 1 5