#include <bits/stdc++.h>
using namespace std;
char ch[100010];
int len, cnt = 0;
char temp[100010];
void out(int len) {
  for (int i = 0; i < len; i++) printf("4");
  for (int i = 0; i < len; i++) printf("7");
  puts("");
}
bool dfs(int p, int a, int b, int yes) {
  if (p == 2 * len) {
    temp[p] = 0;
    return true;
  }
  if (a < len && (!yes || (yes && ch[p] <= '4'))) {
    temp[p] = '4';
    if (dfs(p + 1, a + 1, b, yes && ch[p] == '4')) return true;
  }
  if (b < len && (!yes || (yes && ch[p] <= '7'))) {
    temp[p] = '7';
    if (dfs(p + 1, a, b + 1, yes && ch[p] == '7')) return true;
  }
  return false;
}
int main() {
  while (~scanf("%s", ch)) {
    len = strlen(ch);
    if (len & 1) {
      len = (len + 1) / 2;
      out(len);
      continue;
    }
    len /= 2;
    if (dfs(0, 0, 0, 1))
      puts(temp);
    else
      out(len + 1);
  }
  return 0;
}
