D. Lucky Segmentstime limit per test4 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputPetya 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 [l1; r1], [l2; r2], ..., [ln; rn]. During one move Petya can take any segment (let it be segment number i) and replace it with segment [li + 1; ri + 1] or [li - 1; ri - 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 li ≤ x ≤ ri 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.InputThe first line contains two integers n and k (1 ≤ n ≤ 105, 1 ≤ k ≤ 1018) — the number of segments and the maximum number of moves. Next n lines contain pairs of integers li and ri (1 ≤ li ≤ ri ≤ 1018).Please do not use the %lld specificator to read or write 64-bit integers in С++. It is preferred to use the %I64d specificator.OutputPrint on the single line the single number — the answer to the problem.ExamplesInput4 71 46 94 73 5Output1Input2 740 4547 74Output2NoteIn the first sample Petya shifts the second segment by two units to the left (it turns into [4; 7]), after that number 4 becomes full.In the second sample Petya shifts the first segment by two units to the right (it turns into [42; 47]), and shifts the second segment by three units to the left (it turns into [44; 71]), after that numbers 44 and 47 become full.
Input4 71 46 94 73 5
Output1
['binary search', 'implementation', 'two pointers', '*2500']