#include <bits/stdc++.h>
using namespace std;

#define REP(i,n) for(int i = 0; i < (n); ++i)
#define FOR(i,a,b) for(int i = (a); i <= (b); ++i)
#define FORD(i,a,b) for(int i = (a); i >= (b); --i)

char num2[123456];
int num[123456];
int n;

int zametej_zprava(){
	int i = n-1;
	int dist = 2;
	for(;i>=0 && dist > 0;i--){
		dist-=9-num[i];
	}
	return i;
}

bool testcase(){
	scanf("%s", num2);
	n = strlen(num2);

	if(num2[0] == 'E')return false;

	if(num2[0] == '-'){
		FOR(i, 1, n-1)num[i] = num2[i] - '0';
		bool ok = false;
		FORD(i, n-1, 1)if(num[i] < 9){
			ok = true;
			num[i]++;
			break;
		}
		if(!ok){
			printf("-1");
		} else{
			printf("-");
		}
		FOR(i, 1, n-1)printf("%d", num[i]);
		printf("\n");
	} else{
		REP(i, n)num[i] = num2[i] - '0';

		int zam = zametej_zprava();
		//printf("%d\n", zam);

		if(zam >= 0){
			int i = zam;
			for(;i >= 0; i--)if(num[i] > 0){
				num[i]--;
				break;
			}
			int dist = 2;
			for(++i; i < n && dist > 0; i++){
				int add = min(dist, 9-num[i]);
				dist-=add;
				num[i]+=add;
			}
		} else{
			printf("-");
			bool ok = false;
			for(int i = n-1;i>=0;i--)if(num[i]!=9){
				num[i]++;
				ok = true;
				break;
			}
			if(!ok)printf("1");
		}
		bool start = true;
		REP(i, n){
			if(start){
				if(num[i]==0)continue;
				start=false;
			}
			printf("%d", num[i]);
		}
		printf("\n");
	
	}

	return true;
}


int main() {

	while(testcase());

	return 0;
}