#include <bits/stdc++.h>
using namespace std;
int len;
char ans[100001], s[100001];
inline bool judge(int pos, int flag, int sev, int four) {
  if (pos >= len) return 1;
  if (flag) {
    for (register int i = 0; i < four; ++i) ans[i + pos] = '4';
    for (register int i = four + pos; i < len; ++i) ans[i] = '7';
    return 1;
  }
  if (four && s[pos] <= '4' && judge(pos + 1, s[pos] < '4', sev, four - 1)) {
    ans[pos] = '4';
    return 1;
  }
  if (sev && s[pos] <= '7' && judge(pos + 1, s[pos] < '7', sev - 1, four)) {
    ans[pos] = '7';
    return 1;
  }
  return 0;
}
int main() {
  scanf("%s", s);
  len = strlen(s);
  if (len & 1 || !judge(0, 0, len >> 1, len >> 1)) {
    len += 1 + !(len & 1);
    for (register int i = 0; (i << 1) < len; ++i) ans[i] = '4';
    for (register int i = len >> 1; i < len; ++i) ans[i] = '7';
  }
  printf("%s\n", ans);
  return 0;
}
