F - Coincidence /

### 問題文

\text{ XOR } とは

• a \text{ XOR } b を二進数表記した際の 2^k (k \geq 0) の位の数は、A, B を二進数表記した際の 2^k の位の数のうち一方のみが 1 であれば 1、そうでなければ 0 である。

### 制約

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

### 入力

L R


### 入力例 1

2 3


### 出力例 1

3


### 入力例 2

10 100


### 出力例 2

604


### 入力例 3

1 1000000000000000000


### 出力例 3

68038601


Score : 600 points

### 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.)

### Constraints

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

### 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.

### 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.