P23927 [AtCoder] Coincidence
提高+
题目描述

Problem Statement

Given are integers L and R. Find the number, modulo 10^9 + 7, of pairs of integers $(x, y) (L \leq x \leq y \leq R)$ such that the remainder when y is divided by x is equal to $y \text{ XOR } x$.

What is $\text{ XOR }$?

The XOR of integers A and $B, A \text{ XOR } B$, is defined as follows:

  • When $A \text{ XOR } B$ is written in base two, the digit in the 2^k'$s place (k \geq 0)$ is 1 if either A or B, but not both, has 1 in the 2^k's place, and 0 otherwise.

For example$, 3 \text{ XOR } 5 = 6.$ (In base two: $011 \text{ XOR } 101 = 110.)$

Input

Input is given from Standard Input in the following format:
L R

Output

Print the number of pairs of integers $(x, y) (L \leq x \leq y \leq R)$ satisfying the condition, modulo 10^9 + 7.

Constraints

  • $1 \leq L \leq R \leq 10^{18}$

Sample Input 1

2 3

Sample Output 1

3

Three pairs satisfy the condition: (2, 2), (2, 3), and (3, 3).

Sample Input 2

10 100

Sample Output 2

604

Sample Input 3

1 1000000000000000000

Sample Output 3

68038601

Be sure to compute the number modulo 10^9 + 7.

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
2 3
样例输出
3