#325. 位运算大杂烩

位运算大杂烩

题目描述

给你一个十进制正整数 nn,接下来会进行 qq 次操作,每次操作会给你一个字符串 cc 与一个操作数 xx,你需要根据字符串 cc 来对 nnxx 进行对应的位运算,结果重新存储到 nn 中。

例如:n = 10, c = "&", x = 5,那么执行 n = n & x 得到 n = 0

对于每次操作,你都需要输出此次操作后的 nn 的值。

注意:请用 int 完成这些操作!

输入格式

第一行两个正整数 n,qn,q109n109,1q100-10^9 \le n \le 10^9, 1 \le q \le 100

接下来 qq 行,每行输入一个字符串 cc 与一个数字 xx,表示要执行的位运算与对应的数字。

其中 cc 只会是 &|^>><<,分别代表按位与、按位或、按位异或、右移、左移。

输出格式

输出 qq 行,每行输出当次计算过后的结果。

10 5
& 3
| 11
^ 2
<< 2
>> 2
2
11
9
36
9

数据规模与约定

对于 100%100\% 的数据,109n109-10^9 \le n \le 10^9