#include <bits/stdc++.h>
using namespace std;
const int MAX = 100005, INF = 1 << 30;
int a[MAX];
int n, k;
int odd;
int pos;
int searchFor() {
  for (int i = 1; i <= n; i++) {
    if (i & 1) {
      if (i + 1 <= n && i + 2 <= n) {
        if (a[i] == 4 && a[i + 1] == 7 && a[i + 2] == 7) {
          odd = 1;
          return i;
        }
      }
    } else {
      if (i - 1 >= 1 && i + 1 <= n) {
        if (a[i - 1] == 4 && a[i] == 4 && a[i + 1] == 7) {
          odd = 0;
          return i;
        }
      }
    }
  }
  return 0;
}
bool finish;
void work() {
  bool flag = 1;
  finish = 1;
  while (flag && k > 0) {
    flag = 0;
    for (int i = 1; i <= n; i++) {
      if (i == pos) {
        finish = 0;
        return;
      }
      if (i + 1 <= n && a[i] == 4 && a[i + 1] == 7) {
        if (i & 1) {
          a[i] = a[i + 1] = 4;
          --k;
          if (k == 0) return;
          flag = 1;
        } else {
          a[i] = a[i + 1] = 7;
          --k;
          if (k == 0) return;
          flag = 1;
        }
      }
    }
  }
  return;
}
int main() {
  string str;
  cin >> n >> k;
  cin >> str;
  for (int i = 1; i <= n; i++) {
    a[i] = str[i - 1] - '0';
  }
  pos = searchFor();
  work();
  if (finish == 0) {
    if (odd) {
      if (k & 1) {
        a[pos] = 4;
        a[pos + 1] = 4;
        a[pos + 2] = 7;
      }
    } else {
      if (k & 1) {
        a[pos - 1] = 4;
        a[pos] = 7;
        a[pos + 1] = 7;
      }
    }
  }
  for (int i = 1; i <= n; i++) {
    cout << a[i];
  }
  cout << endl;
  return 0;
}
