#AT2249. E - Many Operations

E - Many Operations

当前没有测试数据。

E - 多种操作

得分:500分

问题描述

我们有一个变量$X$,以及$N$种能改变$X$的值的操作。第$i$种操作用一对整数$(T_i,A_i)$表示,表示以下操作:

  • 如果$T_i=1$,则将$X$的值替换为$X\ {\rm and}\ A_i$;
  • 如果$T_i=2$,则将$X$的值替换为$X\ {\rm or}\ A_i$;
  • 如果$T_i=3$,则将$X$的值替换为$X\ {\rm xor}\ A_i$。

将$X$的初始值设为$C$,按照以下顺序执行操作:

  • 先执行操作1,并输出最终的$X$的值。
  • 然后,按照操作1、2的顺序执行,输出$X$的值。
  • 然后,按照操作1、2、3的顺序执行,输出$X$的值。
  • 执行操作$1, 2, \ldots, N$的顺序,输出$X$的值。
什么是${\rm and}, {\rm or}, {\rm xor}$?

非负整数$A$和$B$的${\rm and}, {\rm or}, {\rm xor}$定义如下:

  • 当将$A\ {\rm and}\ B$转换成二进制时,$2^k$位($k \geq 0$)的数字为$1$,当且仅当$A$和$B$的该位都为$1$时,否则为$0$。
  • 当将$A\ {\rm or}\ B$转换成二进制时,$2^k$位($k \geq 0$)的数字为$1$,当且仅当$A$和$B$的该位中至少有一个为$1$时,否则为$0$。
  • 当将$A\ {\rm xor}\ B$转换成二进制时,$2^k$位($k \geq 0$)的数字为$1$,当且仅当$A$和$B$的该位中只有一个为$1$时,否则为$0$。
例如,$3\ {\rm and}\ 5 = 1$,$3\ {\rm or}\ 5 = 7$,$3\ {\rm xor}\ 5 = 6$。

约束

  • $1 \leq N \leq 2\times 10^5$
  • $1\leq T_i \leq 3$
  • $0\leq A_i \lt 2^{30}$
  • $0\leq C \lt 2^{30}$
  • 输入的所有值都是整数。

输入

输入以以下格式从标准输入中给出:

NN CC

T1T_1 A1A_1

T2T_2 A2A_2

\vdots

TNT_N ANA_N

输出

按照问题描述输出$N$行。


3 10
3 3
2 5
1 12
9
15
12

$X$的初始值为$10$。

  • 操作$1$将$X$改变为$9$。
  • 然后,操作$1$将$X$改变为$10$,然后操作$2$将其改变为$15$。
  • 然后,操作$1$将$X$改变为$12$,然后操作$2$将其改变为$13$,然后操作$3$将其改变为$12$。

9 12
1 1
2 2
3 3
1 4
2 5
3 6
1 7
2 8
3 9
0
2
1
0
5
3
3
11
2

$X$的初始值为$12$。

  • 操作$1$将$X$改变为$0$。
  • 然后,操作$1$将$X$改变为$1$,然后操作$2$将其改变为$2$。
  • 然后,操作$1$将$X$改变为$0$,然后操作$2$将其改变为$5$,然后操作$3$将其改变为$3$。
  • 然后,操作$1$将$X$改变为$3$,然后操作$2$将其改变为$11$,然后操作$3$将其改变为$2$。