[ABC138F] Coincidence
题意翻译
找出有多少整数对 $(x,y)$ 满足 $L\leq x\leq y\leq R$,$y\bmod x=x\oplus y$。
其中 $\oplus$ 表示异或运算。
输出答案对 $10^9+7$ 取模的结果。
题目描述
[problemUrl]: https://atcoder.jp/contests/abc138/tasks/abc138_f
整数 $ L,\ R $ が与えられます。整数の組 $ (x,\ y) $ $ (L\ \leq\ x\ \leq\ y\ \leq\ R) $ であって、$ y $ を $ x $ で割った余りが $ y\ \text{\ XOR\ }\ x $ に等しいものの個数を $ 10^9\ +\ 7 $ で割ったあまりを求めてください。
$ \text{\ XOR\ } $ とは 整数 $ A,\ B $ のビットごとの排他的論理和 $ a\ \text{\ XOR\ }\ b $ は、以下のように定義されます。
- $ a\ \text{\ XOR\ }\ b $ を二進数表記した際の $ 2^k $ ($ k\ \geq\ 0 $) の位の数は、$ A,\ B $ を二進数表記した際の $ 2^k $ の位の数のうち一方のみが $ 1 $ であれば $ 1 $、そうでなければ $ 0 $ である。
例えば、$ 3\ \text{\ XOR\ }\ 5\ =\ 6 $ となります (二進数表記すると: $ 011\ \text{\ XOR\ }\ 101\ =\ 110 $)。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる。
> $ L $ $ R $
输出格式
条件を満たす整数の組 $ (x,\ y) $ $ (L\ \leq\ x\ \leq\ y\ \leq\ R) $ の個数を $ 10^9\ +\ 7 $ で割ったあまりを出力せよ。
输入输出样例
输入样例 #1
2 3
输出样例 #1
3
输入样例 #2
10 100
输出样例 #2
604
输入样例 #3
1 1000000000000000000
输出样例 #3
68038601
说明
### 制約
- $ 1\ \leq\ L\ \leq\ R\ \leq\ 10^{18} $
### Sample Explanation 1
条件を満たす組は $ (2,\ 2),\ (2,\ 3),\ (3,\ 3) $ の $ 3 $ 通りです。
### Sample Explanation 3
個数を $ 10^9\ +\ 7 $ で割ったあまりを計算することを忘れないでください。