#P5605. 打鼹鼠-二维线段树

打鼹鼠-二维线段树

Description

在这个“打鼹鼠”的游戏中,鼹鼠会不时从洞里钻出来,但不会从洞口钻进去。(鼹鼠真胆大……)

洞口都在一个大小为 nnn1024n \leq 1024)的正方形中。这个正方形在一个平面直角坐标系中,左下角为 (0,0)(0,0),右上角为 (n1,n1)(n-1,n-1)。洞口所在的位置都是整点,就是横纵坐标都为整数的点。

SuperBrother 随时想知道某一范围内鼹鼠的总数。这就是你的任务。

Format

Input

每个输入文件有多行。

第一行是一个数 nn,表示鼹鼠的范围。

之后每一行开头都有一个数 mm,表示不同的操作:

  • m=1m=1,那么后面跟着 33 个数 x,y,kx,y,k0x,y<n0 \leq x,y < n),表示在点 (x,y)(x,y) 处新出现了 kk 只鼹鼠;
  • m=2m=2,那么后面跟着 44 个数 $x1,y1,x2,y2(0 \leq x1 \leq x2 < n, 0 \leq y1 \leq y2 < n)$,表示询问矩形 (x1,y1)(x2,y2)(x1,y1)-(x2,y2) 内的鼹鼠数量;
  • m=3m=3,表示老师来了,不能玩了。保证这个数会在输入的最后一行。

询问数不会超过 1000010000,鼹鼠数不会超过 max long int\text{max long int}

Output

对于每个m=2m=2,输出一行数,表示所询问的区域内鼹鼠的个数。

Samples

4
1 2 2 5
2 0 0 2 3
3
5