#include using namespace std; #ifdef LOCAL #include "settings/debug.cpp" #else #define Debug(...) void(0) #endif #define rep(i, n) for (int i = 0; i < (n); ++i) using ll = long long; using ull = unsigned long long; inline bool f(string s) { int digsum = 0; for (char c : s) { if (c == '3') return true; digsum += c - '0'; } return digsum % 3 == 0; } int main() { cin.tie(nullptr)->sync_with_stdio(false); string s; cin >> s; while (f(s)) { if (s.contains('3')) { bool flg = false; rep(i, s.size()) { if (flg) s[i] = '9'; if (s[i] == '3') s[i] = '2', flg = true; } } else { for (int i = s.size() - 1; i >= 0; --i) { if (s[i] == '0') { s[i] = '9'; } else { s[i]--; break; } } } } cout << s << '\n'; return 0; }