На планеті Олімпія робітники будують нову дамбу. Будівельний майданчик має форму прямокутної ділянки на площині розміром 1 \times L метрів, з координатами, як показано на рисунку.
Для підняття рельєфу використовуються магічні генератори імпульсів. Якщо генератор із силою розмістити в позиції з -координатою , то для кожної точки на відрізку [p - H\,;\, p] на осі підвищення становить q - p + H метрів по всій ширині (тобто для будь-якого від до ). Аналогічно, для кожної точки на відрізку [p\,;\, p + H] підвищення становить H + p - q метрів по всій ширині. На інших точках ландшафт не змінюється (див. рисунок). Під час будівництва робітникам може знадобитися розрахувати об'єм дамби над заданим прямокутником.
Напишіть програму, яка допоможе робітникам у цих розрахунках.
Перший рядок містить два цілі числа: — кількість операцій, які виконуватимуть робітники (1 \leq N \leq 100{,}000), та — довжина прямокутника (1 \leq L \leq 100{,}000). Далі йдуть рядків з описом операцій: перше число позначає тип операції, де означає встановлення магічного імпульсного генератора, а — запит об'єму.
Якщо операція має тип , далі йдуть два цілі числа та (0 \leq p \leq L;\ 1 \leq H \leq L), що означає встановлення генератора із силою у позиції на осі .
Якщо операція має тип , далі йдуть два цілі числа та (0 \leq A < B \leq L), що означає запит об'єму дамби над прямокутником від до по осі та від до по осі .
Після кожної операції виведіть у окремому рядку таку інформацію. Якщо проведено операцію типу , виведіть число . Якщо операція типу , виведіть цілу частину об'єму дамби над прямокутником від до по осі та від до по осі , як показано на рисунку.
Приклад 1