#include <bits/stdc++.h>
using namespace std;
int main() {
  string s;
  cin >> s;
  if (s.size() % 2) {
    s += "0";
    string tmp = "";
    for (int i = 0; i < s.size() / 2; i++) tmp += "4";
    for (int i = 0; i < s.size() / 2; i++) tmp += "7";
    cout << tmp << endl;
    return 0;
  }
  string tmp = "";
  for (int i = 0; i < s.size() / 2; i++) {
    tmp += "4";
  }
  for (int i = 0; i < s.size() / 2; i++) {
    tmp += "7";
  }
  bool f = 0, ex = 0;
  int sa = -1;
  int ind = s.size() / 2;
  int cnt = 0;
  for (int i = 0; i < s.size(); i++) {
    if (tmp[i] < s[i]) {
      if (ind == s.size()) {
        ex = 1;
        break;
      }
      if (tmp[ind] < s[i]) {
        ex = 1;
        break;
      } else if (tmp[ind] > s[i]) {
        swap(tmp[ind], tmp[i]);
        break;
      } else {
        swap(tmp[ind], tmp[i]);
      }
      ind++;
    } else if (tmp[i] > s[i]) {
      break;
    }
    if (tmp[i] == '4' && cnt < s.size() / 2) {
      sa = i;
    } else
      cnt++;
  }
  if (sa != -1 && ex) {
    string t = "";
    int x = s.size() / 2;
    int y = x;
    for (int i = 0; i < sa; i++) {
      t += tmp[i];
      if (tmp[i] == '7')
        x--;
      else
        y--;
    }
    if (x) {
      t += "7";
      x--;
      for (int i = 0; i < y; i++) t += "4";
      for (int i = 0; i < x; i++) t += "7";
      if (t > s) {
        cout << t << endl;
        return 0;
      }
    }
  }
  if (ex) {
    tmp += "47";
    sort(tmp.begin(), tmp.end());
    cout << tmp << endl;
  } else
    cout << tmp << endl;
  return 0;
}
