#AT1320. D - XOR World

D - XOR World

D - XOR World

得分:400

问题描述

定义 $f(A, B)$ 为 $A, A+1, ..., B$ 的异或值。求 $f(A, B)$。

什么是异或操作(Exclusive OR)?

对于整数 $c_1, c_2, ..., c_n$ 的异或操作(我们称之为 $y$),其定义如下:

  • 将 $y$ 用二进制表示时,第 $2^k$ 位($k \geq 0$)上的数字是 $1$ 当且仅当在 $c_1, c_2, ...c_m$ 中,在第 $2^k$ 位上有奇数个二进制表示含有 $1$ 的数字;否则为 $0$。

例如,$3$ 和 $5$ 的异或结果为 $6$。(用二进制表示时:$3$ 和 $5$ 的异或结果为 011101,即 110。)

</details>

约束

  • 输入值均为整数。
  • $0 \leq A \leq B \leq 10^{12}$

输入

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

AA BB

输出

计算 $f(A, B)$ 并输出。


2 4
5

$2, 3, 4$ 在二进制下的表示分别为 010, 011, 100。 这三个数的异或结果为 101,即十进制下的 $5$。


123 456
435

123456789012 123456789012
123456789012