//PAT1024V2
#include
#include
int main(){
char E[1000];
scanf("%s",E);
int n=strlen(E);
if(E[0]=='-') printf("-"); //输出负号
int pos=0; //存放e的位置
// while(E[pos++]!='E'); //debug
while(E[pos]!='E'){
pos++;
}
// printf("%d\n",pos);
int exp=0,i=0; //存放指数
for(i=pos+2;i<n;i++){
exp=exp*10+(E[i]-'0');
}
if(exp==0){ //判断指数为0的情况
for(i=1;i<pos;i++){
printf("%c",E[i]);
}
}
if(E[pos+1]=='-'){ //如果指数为负数
printf("0.");
for(i=0;i<exp-1;i++){
printf("0"); //输出负指数的0
}
printf("%c",E[1]); //E[2]是小数点,E[0]是正负号,均略过
for(i=3;i<pos;i++){
printf("%c",E[i]);
}
}
else{ //如果指数为正
for(i=1;i<pos;i++) {
if(E[i]=='.') continue;
printf("%c",E[i]);
if(i==exp+2&&pos-3!=exp){
printf(".");
}
}
for(i=0;i<exp-(pos-3);i++){
printf("0");
}
}
return 0;
}