#include <bits/stdc++.h>
using namespace std;
bool issup(long long int a) {
  int f = 0, s = 0;
  while (a != 0) {
    if (a % 10 == 4)
      f++;
    else
      s++;
    a /= 10;
  }
  if (f == s) return true;
  return false;
}
int main() {
  long long int n;
  cin >> n;
  queue<long long int> q;
  q.push(4);
  q.push(7);
  vector<long long int> v;
  long long int lim = 10000000000000LL;
  while (!q.empty()) {
    long long int x = q.front();
    q.pop();
    if (x > lim) break;
    if (issup(x)) {
      v.push_back(x);
    }
    q.push(x * 10 + 4);
    q.push(x * 10 + 7);
  }
  v.pop_back();
  sort(v.begin(), v.end());
  cout << *lower_bound(v.begin(), v.end(), n);
}
