国际灾难预防联盟 (ICPC) 最近在附近的一个星系中发现了几颗小行星。如果这些小行星撞击地球,将导致可怕的灾难。因此,ICPC 全面研究这些小行星的轨道轨迹至关重要。ICPC 由许多成员国组成,由于发展水平的差异,他们在研究中可能有不同的目标。
科胡特克彗星和地球的轨道。公共领域。
ICPC 在世界各地标记了 $n$ 个天文观测站,编号为 $1, 2, \dots, n$。根据 ICPC 的预测,将会有 $m$ 个事件,分为两类,详细说明如下:
- “1 $y$ $k$ $q[1..k]$” ($1 \le y \le 10^6$, $1 \le k \le 3$, $1 \le q_i \le n$ 对于 $1 \le i \le k$):一位新的 ICPC 成员加入研究,其目标是总共收集至少 $y$ 分钟的小行星视频。该成员拥有 $k$ 台摄像机,并将在编号为 $q_1, q_2, \dots, q_k$ 的每个天文观测站各安装一台摄像机。保证这 $k$ 个整数 $q_1, q_2, \dots, q_k$ 两两不同。设 $p$ 为此事件之前 1 类事件的数量,则该成员被分配的 ID 为 $p + 1$。
- “2 $x$ $y$” ($1 \le x \le n$, $1 \le y \le 10^6$):安装在第 $x$ 个天文观测站的摄像机成功收集了 $y$ 分钟的小行星视频。你需要报告在此事件后刚好达到目标的 ICPC 成员数量,以及这些成员的 ID。注意,你不应该计算在此事件之前就已经达到目标的成员。
你是 ICPC 的一名员工,你的领导要求你编写一个程序来模拟这些事件,以便 ICPC 为研究做好适当的准备。
输入格式
输入仅包含一组数据。
第一行包含两个整数 $n$ 和 $m$ ($1 \le n, m \le 2 \cdot 10^5$),分别表示天文观测站的数量和事件的数量。接下来的 $m$ 行描述了上述格式的事件,但为了强制在线处理,部分参数已加密。
设 $last$ 为你在上一个 2 类事件中报告的成员数量。注意,在处理第一个 2 类事件之前,$last = 0$。对于 1 类事件,$y$ 和 $q_i$ ($1 \le i \le k$) 是加密的。$y$ 和 $q_i$ 的实际值分别为 $y \oplus last$ 和 $q_i \oplus last$。对于 2 类事件,$x$ 和 $y$ 是加密的。$x$ 和 $y$ 的实际值分别为 $x \oplus last$ 和 $y \oplus last$。在上述表达式中,符号 “$\oplus$” 表示按位异或运算。还要注意,上述说明中描述的约束仅在解密后适用于相应的参数,加密值不受这些约束限制。
输出格式
对于每个 2 类事件,打印一行。首先打印一个整数 $cnt$,表示在此事件后刚好达到目标的 ICPC 成员数量。然后按升序打印 $cnt$ 个整数,表示这些 ICPC 成员的 ID。
样例
样例输入 1
3 5 1 5 3 1 2 3 2 2 1 1 2 2 1 2 2 3 1 2 1 3
样例输出 1
0 0 2 1 2