Contador de Dígitos Sortudos

#65
Made by: Crazynds
1024MB
0.2s

Um número sortudo é um número que contém apenas os dígitos $4$ e $7$. Dado um intervalo de inteiros $[A, B]$, você deve contar quantos números sortudos existem nesse intervalo (inclusive $A$ e $B$).

Por exemplo, $47$, $444$, $74$, $7$ são números sortudos, mas $45$, $123$, $478$ não são.

Como o resultado pode ser muito grande, o resultado deve ser em módulo $10^9 + 7$.

Input

A entrada consiste de dois inteiros $A$ e $B$ $(1 ≤ A ≤ B ≤ 10^{64})$.

Output

Imprima um único inteiro: a quantidade de números sortudos no intervalo de A a B em módulo $10^9 + 7$.


Input Example
Output Example
1 100
6

Explanation 1:
Nesse caso existem 6 números sortudos entre 1 e 100, sendo eles: 4, 7, 44, 47, 74, 77.


50 1000
10

1 10000
30