Everybody knows that lucky numbers are positive integers that contain only lucky digits 4 and 7 in their decimal representation. For example, numbers 47, 744, 4 are lucky and 5, 17, 467 are not.
Polo the Penguin have two positive integers $*l*$ and $*r*$ $(*l* < *r*)$, both of them are lucky numbers. Moreover, their lengths (that is, the number of digits in the decimal representation without the leading zeroes) are equal to each other.
Let's assume that $*n*$ is the number of distinct lucky numbers, each of them cannot be greater than $*r*$ or less than $*l*$, and $*a*_{*i*}$ is the $*i*$-th (in increasing order) number of them. Find $*a*_{1}·*a*_{2} + *a*_{2}·*a*_{3} + ... + *a*_{*n* - 1}·*a*_{*n*}$. As the answer can be rather large, print the remainder after dividing it by $1000000007$ ($10^{9} + 7$).
Input
The first line contains a positive integer $*l*$, and the second line contains a positive integer $*r*$ ($1 ≤ *l* < *r* ≤ 10^{100000}$). The numbers are given without any leading zeroes.
It is guaranteed that the lengths of the given numbers are equal to each other and that both of them are lucky numbers.
Output
In the single line print a single integer — the answer to the problem modulo $1000000007$ ($10^{9} + 7$).
样例
4
7
28
474
777
2316330
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。