Petya loves lucky numbers. Everybody knows that lucky numbers are positive integers whose decimal representation contains only the lucky digits 4 and 7. For example, numbers 47, 744, 4 are lucky and 5, 17, 467 are not.

Petya has *n* number segments [*l*<sub class="lower-index">1</sub>; *r*<sub class="lower-index">1</sub>], [*l*<sub class="lower-index">2</sub>; *r*<sub class="lower-index">2</sub>], ..., [*l*<sub class="lower-index">*n*</sub>; *r*<sub class="lower-index">*n*</sub>]. During one move Petya can take any segment (let it be segment number *i*) and replace it with segment [*l*<sub class="lower-index">*i*</sub> + 1; *r*<sub class="lower-index">*i*</sub> + 1] or [*l*<sub class="lower-index">*i*</sub> - 1; *r*<sub class="lower-index">*i*</sub> - 1]. In other words, during one move Petya can shift any segment to the left or to the right by a unit distance. Petya calls a number full if it belongs to each segment. That is, number *x* is full if for any *i* (1 ≤ *i* ≤ *n*) the condition *l*<sub class="lower-index">*i*</sub> ≤ *x* ≤ *r*<sub class="lower-index">*i*</sub> is fulfilled.

Petya makes no more than *k* moves. After that he counts the quantity of full lucky numbers. Find the maximal quantity that he can get.
The first line contains two integers *n* and *k* (1 ≤ *n* ≤ 10<sup class="upper-index">5</sup>, 1 ≤ *k* ≤ 10<sup class="upper-index">18</sup>) — the number of segments and the maximum number of moves. Next *n* lines contain pairs of integers *l*<sub class="lower-index">*i*</sub> and *r*<sub class="lower-index">*i*</sub> (1 ≤ *l*<sub class="lower-index">*i*</sub> ≤ *r*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">18</sup>).

Please do not use the %lld specificator to read or write 64-bit integers in С++. It is preferred to use the %I64d specificator.
print("_RANDOM_GUESS_1689338904.5426161")# 1689338904.542659