Problem10754--ABC138 - F - Coincidence

10754: ABC138 - F - Coincidence

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 512 MiB

Description

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 1 Input

2 3

Sample 1 Output

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

Sample 2 Input

10 100

Sample 2 Output

604

Sample 3 Input

1 1000000000000000000

Sample 3 Output

68038601

Source/Category