Деревянная доска

시간 제한2초메모리 제한1024 MB

요약
보드에 압정으로 고정된 종이를 관리한다. 종이를 뗄 때 그 종이를 뚫는 압정이 모두 빠지고, 그 압정이 뚫던 다른 종이도 함께 떨어진다.
난이도

어려움10점 중 8점

유형
기하, 시뮬레이션, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

Петя и Вася очень любят решать интересные задачи. У них есть одна на двоих прямоугольная доска. Доска --- это прямоугольник со сторонами, параллельными осям координат, и вершинами (0,00, 0) и (W,HW, H) в левом нижнем и правом верхнем углах соответственно. Она предназначена для того, чтобы кто-нибудь из них вешал на нее листочки с условиями задач, которые они не решили. Листочки имеют форму прямоугольников (прямоугольники могут вырождаться в точку), причем Петя и Вася вешают их на специальные гвоздики, которые не позволяют поворачиваться листочку вокруг гвоздика. Петя и Вася --- весьма аккуратные мальчики, поэтому вешают листочек так, что его стороны были параллельны осям координат. Гвоздик держит листочек, если точка, которая соответствует гвоздику, находится внутри или на границе листочка.

В каждый момент времени один из друзей может:

  • Повесить листочек на гвоздик, при этом можно его вешать поверх других листочков. Гвоздь прокалывает все листочки, внутри или на границе которых он находится.
  • Снять листочек с номером kk с доски, при этом все гвоздики, которые его прокалывают, падают. Тем самым, помимо листочка с номером kk, могут упасть и другие листочки. Листочки нумеруются, начиная с единицы, в том порядке, в котором их вешали на доску.
  • Узнать, сколько гвоздиков прокалывают листочек с номером kk. Если листочек упал, то это значение равно 00.
  • Узнать, сколько всего листочков осталось.

Помогите Пете и Васе ответить на их вопросы.

입력

Первая строка входного файла содержит два целых числа WW и HH (5≤W,H≤108)(5 \le W, H \le 10^8) --- ширина и высота доски.

Во второй строке находится число NN (1≤N≤10000)(1 \le N \le 10000) --- число запросов.

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

  • 1′,x_1′,y_1′,x_2,y_2,x,y1',x\_1',y\_1',x\_2\\,y\_2\\,x\\,y --- Повесить листочек так, чтобы его левый нижний угол имел координаты (x_1,y_1x\_1, y\_1), правый верхний --- (x_2,y_2x\_2, y\_2) и прикрепить его гвоздиком в точке с координатами (x,yx, y). (0≤x_1≤x≤x_2≤W)(0 \le x\_1 \le x \le x\_2 \le W), (0≤y_1≤y≤y_2≤H)(0 \le y\_1 \le y \le y\_2 \le H). В одной точке может быть несколько гвоздиков.
  • 2,k2\\,k --- Снять листочек с номером kk. Гарантируется, что кто-нибудь из мальчиков до этого момента вешал на доску листочек с номером kk.
  • 3,k3\\,k --- Узнать, сколько гвоздиков на листочке с номером kk. Гарантируется, что кто-нибудь из мальчиков до этого момента вешал на доску листочек с номером kk.
  • 44 --- Узнать, сколько всего листочков осталось на доске.

Все числа во входном файле целые.

출력

В выходной файл выведите ответы на запросы с номерами типов 33 и 44, по одному целому числу на строке.

예제2

  1. 예제 1

    입력
    10 10
    8
    1 2 2 8 8 3 3
    4
    1 0 0 5 5 5 5
    3 1
    1 5 5 10 10 5 5
    2 2
    4
    3 3
    
    예상 출력
    1
    2
    1
    0
    
  2. 예제 2

    입력
    100 100
    6
    1 5 5 5 5 5 5
    1 5 5 5 5 5 5
    4
    3 1
    2 2
    4
    
    예상 출력
    2
    2
    1