#include using i64 = long long; using u64 = unsigned long long; using u32 = unsigned; using u128 = unsigned __int128; using i128 = __int128; int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); std::string s; std::cin >> s; int N = s.size(); if (s[0] < '4') { std::cout << std::string(N - 1, '5'); } else if (s[0] > '5') { std::cout << std::string(N, '5'); } else { std::string t = s; for (int i = 0; i < N; i++) { if (s[i] == '5' || s[i] == '4') t[i] = s[i]; else if (s[i] > '5') t[i] = '5'; else if (s[i] < '4') { int j = i - 1; while (j >= 0 && t[j] != '5') j--; // 前面没有5,这变成N-1位的全5 // 前面最近的5变4后后面全变5再直接退出 if (j == -1) { t = std::string(N - 1, '5'); break; } else { t[j] = '4'; for (int k = j + 1; k < N; k++) { t[k] = '5'; } break; } } } std::cout << t << '\n'; } return 0; }