100 atcoder#ABC121D. [ABC121D] XOR World

[ABC121D] XOR World

配点 : 400400

問題文

f(A,B)f(A, B)A,A+1,...,BA, A+1, ..., B の排他的論理和としたとき、f(A,B)f(A, B) を求めてください。

排他的論理和とは

整数 c1,c2,...,cnc_1, c_2, ..., c_n のビットごとの排他的論理和 yy は、以下のように定義されます。

  • yy を二進表記した際の 2k2^k (k0k \geq 0) の位の数は、c1,c2,...,cnc_1, c_2, ..., c_n のうち、二進表記した際の 2k2^k の位の数が 11 となるものが奇数個ならば 11、偶数個ならば 00 である。

例えば、3355 の排他的論理和は 66 です(二進数表記すると: 011101 の排他的論理和は 110 です)。

制約

  • 入力は全て整数である。
  • 0AB10120 \leq A \leq B \leq 10^{12}

入力

入力は以下の形式で標準入力から与えられる。

AA BB

出力

f(A,B)f(A, B) を計算し、出力せよ。

2 4
5

2,3,42, 3, 422 進数でそれぞれ 010, 011, 100 です。 これらの排他的論理和は 101 であり、これを 1010 進数表記にすると 55 になります。

123 456
435
123456789012 123456789012
123456789012