#include <bits/stdc++.h>
using namespace std;
void dfs(int);
string s;
vector<long long> a;
int main() {
  int n;
  cin >> n;
  for (int i = 2; i <= 10; i++) {
    s = "";
    dfs(i);
  }
  sort(a.begin(), a.end());
  auto p = upper_bound(a.begin(), a.end(), n) - a.begin();
  if (p > 0 && a[p - 1] == n)
    cout << a[p - 1];
  else
    cout << a[p];
  return 0;
}
void dfs(int x) {
  if (x == 0) {
    int q1 = 0;
    int q2 = 0;
    for (int i = 0; i < s.length(); i++)
      if (s[i] == '4')
        q1++;
      else
        q2++;
    if (q1 == q2) a.push_back(atoll(s.c_str()));
    return;
  }
  s += '4';
  dfs(x - 1);
  s.pop_back();
  s += '7';
  dfs(x - 1);
  s.pop_back();
}
