#P1006. Rooks Defenders

Rooks Defenders

从文件 c.in 中读入数据。

本题数据量较大,请用较快的读入方式

会根据做题情况判断是否开大时限,时限严格是std两倍以上

您有一个大小为 n×nn \times n 的正方形棋盘。行的编号从上到下为 1 1n n ,列的编号从左到右为 1 1 n n。因此,每个单元格都用一对整数 (x,y) (x,y) 表示,其中 x x 是行号, yy 是列号。

您必须执行三种类型的 qq 查询:

  • 在单元格 (x,y) (x,y) 中放入新的车。
  • 从单元格 (x,y)(x,y) 中移除新车。保证之前已经在该单元格中放入了新的车。
  • 检查棋盘的子矩形(x1,y1)(x2,y2) (x_1,y_1)-(x_2,y_2) 的每个单元是否至少被一只车攻击。

子矩形是一组单元 (x,y)(x,y) ,其中每个单元都满足两个条件: x1xx2 x_1 \leq x \leq x_2 y1yy2 y_1 \leq y \leq y_2

回顾一下,如果满足 a=c a=c b=d b=d 两个条件,那么 (a,b) (a,b) 单元就会被放置在 (c,d) (c,d) 单元中的车攻击。具体地说,包含车的单元格会受到这辆车的攻击。

输入

第一行包含两个整数 n n q q (1n106,1q106) (1 \leq n \leq 10^6, 1 \leq q \leq 10^6) --分别是棋盘大小和查询次数。

下面每行 qq 包含一个查询的描述。说明以整数 tt (t{1,2,3})(t \in \{1,2,3\}) 开头,表示查询的类型:

  • 如果是 t=1 t=1,则接下来是两个整数 x x y y (1x,yn) (1 \leq x,y \leq n) --应放入新车的单元格的坐标。在给定的查询时刻, (x,y) (x,y) 单元格中肯定没有新的车。
  • 如果是 t=2 t=2 ,那么 xx y y 这两个整数将跟随 (1x,yn)(1 \leq x,y \leq n)--要移除新车的单元格的坐标。我们保证在给定的查询时刻,(x,y) (x,y) 单元格中有一车。
  • 如果是 t=3 t=3 ,则 x1,y1,x2,y2 x_1,y_1,x_2,y_2 之后的四个整数 $ (1 \leq x_1 \leq x_2 \leq n, 1 \leq y_1 \leq y_2 \leq n)$ 是要检查其中每个单元格是否至少被一只车攻击的子矩形。

可以保证在 q q 个询问中至少有一个属于第三种类型的询问。

输出

在单独一行中打印第三种类型的每个查询的答案。如果子矩形的每个单元格都至少被一只车攻击,则打印 "YES" (不带引号)。

否则打印 "NO" (不带引号)。

示例

输入

8 10
1 2 4
3 6 2 7 2
1 3 2
3 6 2 7 2
1 4 3
3 2 6 4 8
2 4 3
3 2 6 4 8
1 4 8
3 2 6 4 8

输出

NO
YES
YES
NO
YES

举例说明。经过前两次查询后,棋盘将如下图所示(字母 R 表示车所在的单元格,第三次查询的子矩形用绿色标出):

![](file://k7QMmkZndO8LPTvLbtGq0.png)

进行第三和第四次查询后的棋盘:

![](file://KWNRGiTQa97JF3B9w7jyy.png)

执行第五次和第六次查询后的棋盘:

![](file://xOkK6hSbhxSaL8EB94Ufw.png)

执行第七和第八次查询后的棋盘:

![](file://Z4nWFku1DeqcZ5msKt5Oy.png)

执行最后两次查询后的棋盘:

![](file://Ft9JmvywcD_4HU9_8b-hi.png)

数据范围

### 温馨提醒数组开大一点,后面数据的n可能会大1,建议+10

对于20%的数据 1n1001 \leq n \leq 100, 1q101 \leq q \leq 10

对于50%的数据 1n10001 \leq n \leq 1000, 1q10001 \leq q \leq 1000

对于80%的数据 1n1051 \leq n \leq 10^5, 1q2×1051 \leq q \leq 2 \times 10^5

对于100%的数据

  • nn 是棋盘的大小,表示行数和列数的最大值,范围为 1n1061 \leq n \leq 10^6

  • qq 是查询的数量,表示有多少次操作,范围为 1q1061 \leq q \leq 10^6

  • 每个查询涉及的坐标 xxyy,以及子矩形的边界 x1y1x2y2x_1、y_1、x_2、y_2 都满足 1x,y,x1,y1,x2,y2n1 \leq x, y, x_1, y_1, x_2, y_2 \leq n