/* 
 * File:   fox.cpp
 * Author: cteam032
 *
 * Created on October 24, 2015, 9:50 AM
 */

#include <cstdlib>
#include <iostream>
using namespace std;

/*
 * 
 */
int main(int argc, char** argv) {

    string number;

    while (cin >> number) {
        if (number == "END") return 0;
        int len = number.length();
        int ukaz = len - 1;
        int rozdil = 0;
        unsigned long long cifSoucet = 0;

        int * postupneSoucty = new int[len];
        //todo zaporne cislo
        bool kladne = 0;
        if (number[0] != '-') kladne = 1;

        if (kladne) {
            for (int i = 0; i < len; i++) {
                cifSoucet += number[i] - 48;
                postupneSoucty[i] = cifSoucet;
            }

            while (rozdil < 2 && ukaz > 0) { //nebo >= who knows           
                rozdil += '9' - number[ukaz];
                ukaz--;
            }
            if (rozdil >= 2 && ukaz > 0) {
                if (number[ukaz] > '0') {
                    number[ukaz]--;
                    int zbytekNaDoplneni = cifSoucet - postupneSoucty[ukaz] + 2;
                    for (int i = ukaz + 1; i < len; i++) {
                        if (zbytekNaDoplneni >= 9) {
                            number[i] = '9';
                            zbytekNaDoplneni -= 9;
                        } else {
                            number[i] = zbytekNaDoplneni + 48;
                            zbytekNaDoplneni = 0;
                        }
                    }
                } else { //dostaneme spravny nebo 0atospravny
                    while (number[ukaz] == '0' && ukaz > 0)
                        ukaz--;

                    number[ukaz]--;
                    int zbytekNaDoplneni = cifSoucet - postupneSoucty[ukaz] + 2;
                    for (int i = ukaz + 1; i < len; i++) {
                        if (zbytekNaDoplneni >= 9) {
                            number[i] = '9';
                            zbytekNaDoplneni -= 9;
                        } else {
                            number[i] = zbytekNaDoplneni + 48;
                            zbytekNaDoplneni = 0;
                        }
                    }
                }
            } else if (ukaz == 0 && rozdil >= 2) {
                number[ukaz]--;
                int zbytekNaDoplneni = cifSoucet - postupneSoucty[ukaz] + 2;
                for (int i = ukaz + 1; i < len; i++) {
                    if (zbytekNaDoplneni >= 9) {
                        number[i] = '9';
                        zbytekNaDoplneni -= 9;
                    } else {
                        number[i] = zbytekNaDoplneni + 48;
                        zbytekNaDoplneni = 0;
                    }
                }
            } else { //ukazatel roven 0 a rozdil < 2
                if (rozdil == 0) {
                    //jdeme do minusu a prvni cislo zvetsime o jedna pokud to jde jinak dame pred nej 1
                    cout << '-';
                    if (number[ukaz] == '9') {
                        cout << '1';
                    } else {
                        number[0]++;
                    }
                } else { //rozdil == 1
                    //jdeme do muinusu a prvni cislo nechame byt a na dalsi dame 9
                    cout << '-';
                    for (int i = 1; i < len; i++)
                        number[i] = '9';
                }
            }
        }else{
            int ukaz = len - 1;
            if(number[ukaz] == '9'){
                while(number[ukaz]=='9')
                    ukaz--;
                if(ukaz == 0){
                    //cout << "-1";
                    string tmp = "-1";
                    for(int i = 1; i < len; i++)
                        tmp += number[i];
                    number = tmp;
                }else{
                    number[ukaz]++;
                }            
            }else{
                number[ukaz]++;
            }
        }


        //vypis
        if (number[0] == '0') for (int i = 1; i < len; i++)
                cout << number[i];
        else
            cout << number;
        cout << endl;
        //cout << cifSoucet;
    }

    return 0;
}