#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>

char a[100256];

void distrib(int l, int plus) {
	while (plus>9) {
		a[l]='9';
		l++;
		plus-=9;
	}
	a[l] = plus+'0';
}

void rm(int plus) {
	a[0]='-';
	int j=1;
	if(plus%9) {
		a[j++]=plus%9+'0';
		plus -= plus%9;
	}
	while(plus) {
		a[j++] = '9';
		plus-=9;
	}
}

void add(int l, int plus, int pos) {
	while (1) {
		int x = a[l]-'0';
		//printf("add: %s, plus%i pos%i, x%i l%i\n", a, plus, pos, x, l);
		if (a[l] ==' ') {
			rm(plus-1);
			return;
		}
		if ((plus/9+ !!(plus%9)) > pos) {
			a[l]='0';
			l--;
			plus+=x;
			pos++;
			continue;
		}
		else {
			if (x) {
				a[l]--;
				distrib(l+1, plus);
			}
			else {
				a[l]='0';
				l--;
				plus+=x;
				pos++;
				continue;
			}
		}
		return;
	}
}

void minus(int l) {
	while(!(a[l]-'0')) {
		l--;
	}
	a[l]--;
}

char *fix() {
	char *b = a;
	while (*b==' ' || *b=='0'|| *b=='-')
		b++;
	if (*b) {
		b--;
		*b='-';
	}
	else {
		b--;
		*b='0';
	}
	return b;
}

int main() {
	while (true) {
		a[0]=' ';
		gets(a+1);
		if (a[1]=='E')
			break;

		char *b =a;
		int l = strlen(a);
		if (a[1]=='-') {
			minus(l-1);
			b = fix();
		}
		else {
			add (l-1, 2, 0);
			while (*b==' ' || *b=='0')
				b++;
		}
		printf("%s\n", b);
	}
	return 0;
}