Задача E. Ежеминутные указания

Автор:Артем Завгороднев   Ограничение времени:2 сек
Входной файл:Стандартный вход   Ограничение памяти:256 Мб
Выходной файл:Стандартный выход  

Условие

На выставке виртуальной реальности всем желающим дается возможность поиграть в VR-очках. Но так как участнику для игры нужно свободное пространство, то их расстановкой занимаются менеджеры. А также участник не может играть вечно, поэтому на игру ему отводится определенное время. Все хотят поиграть подольше, поэтому каждый участник будет стоять именно свои ti минут.

Другими словами, i-ый участник встает в точку (xi, yi), в которой он будет находиться ti минут. Менеджеры ответственно выполняют свою работу, поэтому они не отправят человека в занятую точку.

Вы, как администратор площадки, обязаны отчитываться сколько человек находится в некотором прямоугольнике. Вы не занимаетесь общением с людьми, поэтому вам приходят указания от менеджеров вида:

Прямоугольник описывается двумя точками (x1, y1) и (x2, y2), где x1 ≤ x2 и y1 ≤ x2. Точка (x, y) лежит на прямоугольнике, если (x1 ≤ x ≤ x2 и y1 ≤ y ≤ y2)

На выполнение каждого указания вы тратите T минут. Когда вам приходит указание посчитать людей, вы распечатываете для себя расстановку в текущий момент времени и считаете людей по ней. А время игры участника начинается сразу после того, как вы поставите его в точку.

Формат входных данных

В первой строке содержится два целых числа N и T - количество указаний и время, которое вы тратите на выполнение указания. (1 ≤ N, T ≤ 2 * 105)

В следующих N строках описываются указания, первое число строки говорит о том, какое указание в этой строке:

1 - поставить человека в точку. Далее в этой следует 3 целых числа xi, yi, ti. (1 ≤ xi, yi ≤ 500, 1 ≤ t ≤ 104)

2 - сказать сколько человек в прямоугольнике. Далее следует 4 целых числа: x1, y1, x2, y2. (1 ≤ x1, x2, y1, y2 ≤ 500)

Всего K запросов вида 2.

Формат выходных данных

Вы должны вывести K натуральных чисел - ответы на запросы вида 2.

Примеры тестов

Стандартный вход Стандартный выход
1
7 5
1 1 1 10
2 1 1 5 5
2 1 1 5 5
1 2 2 10
1 2 1 5
2 1 1 5 5
2 1 1 5 5
1
1
2
0
2
13 1
1 1 1 100
1 2 1 100
1 3 1 100
1 4 1 100
1 5 1 100
1 1 5 100
1 2 2 100
1 3 3 100
2 1 1 5 5
2 1 2 5 5
2 1 3 3 5
2 1 5 1 5
2 5 5 5 5
8
3
2
1
0

0.069s 0.009s 13