#AT0164. 神奇的容器

神奇的容器

题目描述

小 Z 有 nn 个神奇的容器,编号为 1,2,,n1,2,\cdots,n,刚开始这些容器都是空的。接着小 Z 会执行 qq 次操作,每次操作有如下 33 种情况:

  1. 1 i j:表示将数字 ii 放入容器 jj
  2. 2 i:表示需要将容器 ii 中的数字升序输出
  3. 3 i:查询数字 ii 在哪些编号的容器中出现了,若多个同一数字出现在一个容器中,这个容器也只输出一次,从小到大输出这些容器编号

「注意」

对于 22 操作,如果某个容器 ii 中有多个相同的数字,那么这些数字都需要被输出,而对于操作 33 有多个数字出现在同一容器中,该容器编号只输出一次。

输入格式

第一行输入一个整数 nn 表示容器个数。

第二行输入一个整数 qq 表示操作次数。

接下来有 qq 行,每行都是形如 1 i j, 2 i, 3 i 的操作,含义如题目所示。

输出格式

对于每一次操作 2233 按照要求输出一行。

样例

5
8
1 1 1
1 2 4
1 1 4
2 4
1 1 4
2 4
3 1
3 2
1 2
1 1 2
1 4
4
1
5
1 1 1
1 2 1
1 200000 1
2 1
3 200000
1 2 200000
1

提示

1n,q2×1051 \le n,q \le 2 \times 10^5

  • 对于第 11 种操作满足 1i2×105,1jn1\le i \le 2 \times 10^5, 1\le j \le n
  • 对于第 22 种操作满足 1in1\le i \le n,并且查询 ii 号容器时,该容器中一定会包含数字
  • 对于第 33 种操作满足 1i2×1051\le i \le 2 \times 10^5,并且保证查询数字 ii 时,他一定会出现在某些容器中。