考虑如下函数 $f(X)$,它接受一个正整数作为参数,并返回一个整数。
function f(X):
iterations := 0
while X is not 1:
if X is even:
divide X by 2
else:
add 1 to X
add 1 to iterations
return iterations可以证明,对于任何正整数 $X$,该函数都会终止。给定一个区间 $[L, R]$,计算总和 $$S = f(L) + f(L + 1) + \dots + f(R - 1) + f(R)$$
输入格式
输入的第一行包含两个整数 $L$ 和 $R$ ($1 \le L \le R \le 10^{18}$)。
输出格式
输出结果 $S$ 对质数 $10^9 + 7$ 取模后的值。
样例
样例输入 1
1 127
样例输出 1
1083
样例输入 2
74 74
样例输出 2
11