Problem B: 防止打扰

Memory Limit:512 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:24 Solved:1

Description

“Oh, move over”
Hermione snarled. She grabbed Harry’s wand, tapped the lock and whispered:
“Alohomora!”
【题目描述】
David
Tao 的学校很重视 OIer 的培养,为了让他们有个安静不受打扰的环境,校长
在通往训练机房的路上安装了 n 道密码门。每道密码门可以对输入的数做一定计算,并
将结果输出给下一道密码门作为输入。只要根据入口处输入的数经过所有密码门后的最
终计算结果,就可以判断出来者是否掌握真正的密码。
具体而言,第 i 道密码门有一个操作符 OPi 和一个参数 Bi,其中操作符分为三种:
‘AND‘、‘OR‘ 和 ‘XOR‘,分别表示该密码门会将输入的数与 Bi 进行按位与、按位或、按
位异或后进行输出。按位与对应 C++ 中的 & 运算符,按位或对应 C++ 中的 | 运算符,
按位异或对应 C++ 中的 ^ 运算符。可以分别用表达式 a&b、a|b 和 a^b 计算两个数 a 和
b 进行按位与、按位或、按位异或运算的结果。为进一步保证安全,校长可以随时修改密
码门的操作符和参数。
David 获得了一个事件日志,日志中记录着按时间的先后顺序共发生的 m 个事件,
每个事件可能是有人在入口输入了一个数,或者校长修改了某一道密码门的操作符和参
数。
David 希望知道对于每个输入事件,该数依次经过所有密码门后的最终计算结果是
什么?

Input

第一行包含两个正整数 n 和 m,分别表示密码门的数量与发生的事件数。
接下来 n 行,第 i 行包含一个字符串 OPi 和一个正整数 Bi,分别表示初始时第 i 道
密码门的操作符和参数。
接下来 m 行,每行首先包含一个正整数 type,若 type = 1,则后面跟一个正整数 X,
表示有人在门口输入了 X,你需要计算 X 依次通过所有密码门后的结果;若 type = 2,
则后面跟一个正整数 id、一个字符串 OP′ 和一个正整数 B′,表示第 id 道密码门的操作

符被修改为了 OP′,参数改为了 B′。

数据保证输入中的字符串均为’AND’、’OR’ 或’XOR’ 中的一种,其分别对应这道密
码门进行按位与、按位或、按位异或运算。

    

Output

对于每个输入事件,输出一行一个正整数,表示入口输入的数依次通过所有密码门
后输出的结果。

Sample Input Copy

3 3
XOR 11
AND 7
OR 17
1 13
2 2 AND 15
1 5

Sample Output Copy

23
31

HINT

一共有 3 道密码门,初始时密码门的操作符和参数依次为 XOR 11、AND 7 和 OR 17,
按时间顺序发生的 3 个事件如下:
- 在门口输入了 13,而 13 XOR 11 = 15、15 AND 7 = 7、7 OR 17 = 23,故最终密
码门输出的结果为 23。
- 第 2 道密码门的参数被改为 AND 15
- 在门口输入了 5,而 5 XOR 11 = 14、14 AND 15 = 14、14 OR 17 = 31,故最终密
码门输出的结果为 31。



于 100% 的数据,保证 1 ≤ n, m ≤ 2 × 105, 1 ≤ type ≤ 2, 1 ≤ Bi, B′, X ≤ 1000, 1 ≤ id ≤ n。
测试点数量      n ⩽      m ⩽
      20%         2000      2000
      60%       20000     20000
在后两档数据中,各有三组数据没有发生过修改密码门的事件,各有三组数据所有
的操作符都是相同的。