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 a number consisting of *n* digits without leading zeroes. He represented it as an array of digits without leading zeroes. Let's call it *d*. The numeration starts with 1, starting from the most significant digit. Petya wants to perform the following operation *k* times: find the minimum *x* (1 ≤ *x* &lt; *n*) such that *d*<sub class="lower-index">*x*</sub> = 4 and *d*<sub class="lower-index">*x* + 1</sub> = 7, if *x* is odd, then to assign *d*<sub class="lower-index">*x*</sub> = *d*<sub class="lower-index">*x* + 1</sub> = 4, otherwise to assign *d*<sub class="lower-index">*x*</sub> = *d*<sub class="lower-index">*x* + 1</sub> = 7. Note that if no *x* was found, then the operation counts as completed and the array doesn't change at all.

You are given the initial number as an array of digits and the number *k*. Help Petya find the result of completing *k* operations.
The first line contains two integers *n* and *k* (1 ≤ *n* ≤ 10<sup class="upper-index">5</sup>, 0 ≤ *k* ≤ 10<sup class="upper-index">9</sup>) — the number of digits in the number and the number of completed operations. The second line contains *n* digits without spaces representing the array of digits *d*, starting with *d*<sub class="lower-index">1</sub>. It is guaranteed that the first digit of the number does not equal zero.
n, k = map(int, input().split())
d = [elem for elem in input()] + ['0']
for _ in range(k):
    for i in range(n):
        if d[i] == '4' and d[i + 1] == '7':
            if (i + 1) % 2 == 1:
                d[i] = d[i + 1] = '4'
            else:
                d[i] = d[i + 1] = '7'
            break
print(''.join(d)[:-1])
