#include <bits/stdc++.h>
#include <math.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
#define el '\n'
#define fastio ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
#define all(v) v.begin(), v.end()
#define fixed(n) fixed << setprecision(n)
const int d4x[4]={0, 1, 0, -1}, d4y[4]={1, 0, -1, 0};
// const int d8x[8]={0, 1, 1, 1, 0, -1, -1, -1}, d8y[8]={1, 1, 0, -1, -1, -1, 0, 1};
#define id(c) ((c) - 'a' + 1)
#define ch(i) ((i) + 'a' - 1)
template <typename T>
void printv(const vector<T>& v) {
for (const auto& x : v) cout << x << ' ';
cout << '\n';
}
void fileIO() {
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
}
bool valid(string s) {
char diff = s[1] - s[0];
for (int i = 2; i < s.size(); i++)
{
if(s[i] - s[i-1] != diff) return false;
}
return true;
}
ll vtoll(vector<int> &v) {
string s = "";
for (int i = 0; i < v.size(); i++)
{
s += v[i] + '0';
}
return stoll(s);
}
void solve() {
ll n; cin >> n;
if(n < 100) return void(cout << n);
string s = to_string(n);
vector<int> v, temp;
for (int i = 0; i < s.size(); i++)
{
v.push_back(s[i] - '0');
}
vector<ll> st;
for (int i = 0; i < 5; i++)
{
for (int w = 0; w < 10; w++)
{
temp.clear();
for (int k = 0; k < s.size(); k++)
{
temp.push_back(w);
}
st.push_back(vtoll(temp));
bool c = 1;
for (int j = 1; j < temp.size(); j++)
{
temp[j] = i + temp[j-1];
if(temp[j] > 9) c = 0;
}
if(c) {
st.push_back(vtoll(temp));
reverse(temp.begin(), temp.end());
st.push_back(vtoll(temp));
}
}
}
sort(all(st));
// printv(st);
cout << *lower_bound(all(st), n);
}
int main() {
fastio;
fileIO();
// int t; cin >> t;
// while (t--)
solve();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxtYXRoLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIGxsID0gbG9uZyBsb25nOwp1c2luZyB1bGwgPSB1bnNpZ25lZCBsb25nIGxvbmc7CiNkZWZpbmUgZWwgJ1xuJwojZGVmaW5lIGZhc3RpbyBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSksIGNpbi50aWUoMCksIGNvdXQudGllKDApCiNkZWZpbmUgYWxsKHYpIHYuYmVnaW4oKSwgdi5lbmQoKQojZGVmaW5lIGZpeGVkKG4pIGZpeGVkIDw8IHNldHByZWNpc2lvbihuKQpjb25zdCBpbnQgZDR4WzRdPXswLCAxLCAwLCAtMX0sIGQ0eVs0XT17MSwgMCwgLTEsIDB9OwovLyBjb25zdCBpbnQgZDh4WzhdPXswLCAxLCAxLCAxLCAwLCAtMSwgLTEsIC0xfSwgZDh5WzhdPXsxLCAxLCAwLCAtMSwgLTEsIC0xLCAwLCAxfTsKI2RlZmluZSBpZChjKSAoKGMpIC0gJ2EnICsgMSkKI2RlZmluZSBjaChpKSAoKGkpICsgJ2EnIC0gMSkKdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CnZvaWQgcHJpbnR2KGNvbnN0IHZlY3RvcjxUPiYgdikgewogICAgZm9yIChjb25zdCBhdXRvJiB4IDogdikgY291dCA8PCB4IDw8ICcgJzsKICAgIGNvdXQgPDwgJ1xuJzsKfQoKdm9pZCBmaWxlSU8oKSB7CiNpZm5kZWYgT05MSU5FX0pVREdFCiAgICBmcmVvcGVuKCJpbnB1dC50eHQiLCAiciIsIHN0ZGluKTsKICAgIGZyZW9wZW4oIm91dHB1dC50eHQiLCAidyIsIHN0ZG91dCk7CiNlbmRpZgp9CmJvb2wgdmFsaWQoc3RyaW5nIHMpIHsKICAgIGNoYXIgZGlmZiA9IHNbMV0gLSBzWzBdOwogICAgZm9yIChpbnQgaSA9IDI7IGkgPCBzLnNpemUoKTsgaSsrKQogICAgewogICAgICAgIGlmKHNbaV0gLSBzW2ktMV0gIT0gZGlmZikgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmV0dXJuIHRydWU7Cn0KbGwgdnRvbGwodmVjdG9yPGludD4gJnYpIHsKICAgIHN0cmluZyBzICA9ICIiOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCB2LnNpemUoKTsgaSsrKQogICAgewogICAgICAgIHMgKz0gdltpXSArICcwJzsKICAgIH0KICAgIHJldHVybiBzdG9sbChzKTsKfQp2b2lkIHNvbHZlKCkgewogICAgbGwgbjsgY2luID4+IG47CiAgICBpZihuIDwgMTAwKSByZXR1cm4gdm9pZChjb3V0IDw8IG4pOwogICAgc3RyaW5nIHMgPSB0b19zdHJpbmcobik7CiAgICB2ZWN0b3I8aW50PiB2LCB0ZW1wOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgcy5zaXplKCk7IGkrKykKICAgIHsKICAgICAgICB2LnB1c2hfYmFjayhzW2ldIC0gJzAnKTsKICAgIH0KICAgIHZlY3RvcjxsbD4gc3Q7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IDU7IGkrKykKICAgIHsKICAgICAgICBmb3IgKGludCB3ID0gMDsgdyA8IDEwOyB3KyspCiAgICAgICAgewogICAgICAgICAgICB0ZW1wLmNsZWFyKCk7CiAgICAgICAgICAgIGZvciAoaW50IGsgPSAwOyBrIDwgcy5zaXplKCk7IGsrKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdGVtcC5wdXNoX2JhY2sodyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgc3QucHVzaF9iYWNrKHZ0b2xsKHRlbXApKTsKICAgICAgICAgICAgYm9vbCBjID0gMTsKICAgICAgICAgICAgZm9yIChpbnQgaiA9IDE7IGogPCB0ZW1wLnNpemUoKTsgaisrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB0ZW1wW2pdID0gaSArIHRlbXBbai0xXTsKICAgICAgICAgICAgICAgIGlmKHRlbXBbal0gPiA5KSBjID0gMDsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZihjKSB7CiAgICAgICAgICAgICAgICBzdC5wdXNoX2JhY2sodnRvbGwodGVtcCkpOwogICAgICAgICAgICAgICAgcmV2ZXJzZSh0ZW1wLmJlZ2luKCksIHRlbXAuZW5kKCkpOwogICAgICAgICAgICAgICAgc3QucHVzaF9iYWNrKHZ0b2xsKHRlbXApKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHNvcnQoYWxsKHN0KSk7CiAgICAvLyBwcmludHYoc3QpOwogICAgY291dCA8PCAqbG93ZXJfYm91bmQoYWxsKHN0KSwgbik7CiAgICAKfQoKaW50IG1haW4oKSB7CiAgICBmYXN0aW87CiAgICBmaWxlSU8oKTsKICAgIC8vIGludCB0OyBjaW4gPj4gdDsKICAgIC8vIHdoaWxlICh0LS0pCiAgICAgICAgc29sdmUoKTsKfQ==