#include <bits/stdc++.h>
using namespace std;
string n;
bool check(long long int pos, long long int four, long long int seven) {
  if (four < 0 || seven < 0) return false;
  if (n[pos] < '4') {
    for (long long int i = 0; i < four; i++) n[pos + i] = '4';
    for (long long int i = 0; i < seven; i++) n[pos + four + i] = '7';
    return true;
  }
  if (n[pos] == '4' && check(pos + 1, four - 1, seven)) return true;
  if (n[pos] < '7' && seven) {
    n[pos] = '7';
    for (long long int i = 0; i < four; i++) n[pos + 1 + i] = '4';
    for (long long int i = 0; i < seven - 1; i++) n[pos + four + i + 1] = '7';
    return true;
  }
  if (n[pos] == '7' && check(pos + 1, four, seven - 1)) return true;
  return false;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout << fixed << setprecision(10);
  long long int t = 1;
  while (t--) {
    cin >> n;
    if (n.size() % 2) {
      long long int x = n.size() + 1;
      for (long long int i = 0; i < x / 2; i++) cout << '4';
      for (long long int i = 0; i < x / 2; i++) cout << '7';
      return 0;
    }
    long long int x = n.size();
    if (check(0, x / 2, x / 2))
      cout << n;
    else {
      cout << '4';
      for (long long int i = 0; i < x / 2; i++) cout << '4';
      for (long long int i = 0; i < x / 2; i++) cout << '7';
      cout << '7';
    }
  }
  return 0;
}
