package main
import (
"fmt"
)
const MOD int64 = 1000000007
func power(base, exp int64) int64 {
res := int64(1)
base %= MOD
for exp > 0 {
if exp%2 == 1 {
res = (res * base) % MOD
}
base = (base * base) % MOD
exp /= 2
}
return res
}
func geoSum(a, n int64) int64 {
if n <= 0 {
return 0
}
num := (power(3, n) - 1 + MOD) % MOD
ans := (num * 500000004) % MOD
ans = (ans * a) % MOD
return ans
}
func sumF(n int64) int64 {
if n <= 0 {
return 0
}
ans := int64(4)
ans = (ans + geoSum(4, n/2)) % MOD
ans = (ans + geoSum(7, (n-1)/2)) % MOD
K := (n + 1) / 2
ans = (ans + geoSum(4, K/2)) % MOD
ans = (ans + geoSum(7, (K-1)/2)) % MOD
return ans
}
func main() {
var L, R int64
if _, err := fmt.Scan(&L, &R); err == nil {
ans := (sumF(R) - sumF(L-1) + MOD) % MOD
fmt.Println(ans)
}
}