3975: Sky 不会算数

内存限制:512 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:70 解决:14

题目描述



arithmetic.in/out/cpp

大样例

Sky 不会位运算,但是他还是很喜欢位运算。
众所周知,位运算有与,或,异或三种,然而 Sky 都不会。 为了防止你也都不会,Sky 把定义写到了下面: (就算 Sky 知道定义,他也还是不会)

- 与:相同位的两个数字都为 $1$,则为 $1$;若有一个不为 $1$,则为 $0$。
- 或:相同位只要一个为 $1$ 即为 $1$。
- 异或:相同位不同则为 $1$,相同则为 $0$ 。

虽然 Sky 不会,但是 Sky 觉得它们非常的有趣,并出了一些题准备考考你。

每到题中 Sky 会给出一对整数 $l,r$ 以及运算 $\bigoplus$ ,询问 $[l,r]$ 的每一个数通过 $\bigoplus$ 运算后的值。

Sky 很贴心,它会给出具体的操作, $op = 1$ 运算为与, $op=2$ 运算为或, $op=3$ 运算为异或。

输入

第一行给出 $n$,表示题目个数。 接下来 $n$ 行,每行给出 $l,r,op$ ,分别代表题目询问的区间范围

输出

输出 $n$ 个整数,表示题目的答案。

样例输入 复制

1
2 4 3

样例输出 复制

5

提示

### 样例解释

$2\bigoplus 3\bigoplus4=5$ 
对于所有数据保证: $n\leq10$

| 20pts     |  $l,r\leq 10^6$   | $op =1,2,3$ |
| --------- | :---------------: | :---------: |
| **15pts** | $l,r\leq 10^{16}$ |  $op = 1$   |
| **15pts** | $l,r\leq 10^{16}$ |   $op=2$    |
| **15pts** | $l,r\leq 10^{16}$ |   $op=3$    |
| **35pts** | $l,r\leq 10^{16}$ | $op=1,2,3$  |

---

###