Color it

Time Limit: 20000/10000 MS (Java/Others)

Memory Limit: 132768/132768 K (Java/Others)

Description

Do you like painting? Little D doesn't like painting, especially messy color paintings. Now Little B is painting. To prevent him from drawing messy painting, Little D asks you to write a program to maintain following operations. The specific format of these operations is as follows.

$0$ : clear all the points.

$1$ $x$ $y$ $c$ : add a point which color is $c$ at point $(x,y)$.

$2$ $x$ $y_1$ $y_2$ : count how many different colors in the square $(1,y1)$ and $(x,y2)$. That is to say, if there is a point $(a,b)$ colored $c$, that $1 \leq a \leq x$ and $y_1 \leq b \leq y_2$, then the color $c$ should be counted.

$3$ : exit.

Input

The input contains many lines.

Each line contains a operation. It may be '0', '1 x y c' ( $1\leq x,y\leq 10^6,0\leq c \leq 50$ ), '2 x y1 y2' ($1\leq x,y_1,y_2\leq 10^6$ ) or '3'.

$x,y,c,y1,y2$ are all integers.

Assume the last operation is 3 and it appears only once.

There are at most $150000$ continuous operations of operation 1 and operation 2.

There are at most $10$ operation 0.

Output

For each operation 2, output an integer means the answer .

Sample Input

0 1 1000000 1000000 50 1 1000000 999999 0 1 1000000 999999 0 1 1000000 1000000 49 2 1000000 1000000 1000000 2 1000000 1 1000000 0 1 1 1 1 2 1 1 2 1 1 2 2 2 1 1 2 1 2 2 2 2 1 1 2 1 2 1 3 2 2 1 2 2 10 1 2 2 10 2 2 0 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 2 1 2 2 1 2 1 1 2 1 2 1 1 2 2 1 2 2 10 1 2 2 10 2 2 3

Sample Output

2 3 1 2 2 3 3 1 1 1 1 1 1 1

Hint

liuyiding

Source

2017ACM/ICPC广西邀请赛-重现赛(感谢广西大学)

提交代码