#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e6 + 10;
int l = 1, r;
char str[maxn];
int find(char ch) {
  for (int i = l; i <= r; i++) {
    if (str[i] == ch) {
      return i;
    }
  }
  return EOF;
}
int main() {
  gets(str + 1);
  r = strlen(str + 1);
  int point = find('.');
  for (; str[l] == 48; l++)
    ;
  for (; (~point) && str[r] == 48; r--)
    ;
  if (str[r] == '.') {
    r--;
  }
  if (str[l] == '.') {
    int e = -1, pos = l + 1;
    for (; str[pos] == '0'; pos++, e--)
      ;
    putchar(str[pos]);
    if (pos != r) {
      putchar('.');
      for (int i = pos + 1; i <= r; i++) putchar(str[i]);
    }
    printf("E%d", e);
    return 0;
  }
  int e = ((~point) ? point - 1 : r) - l;
  int _ = r;
  for (; _ > l && str[_] == 48; _--)
    ;
  putchar(str[l]);
  if (e && _ > l) {
    putchar('.');
  }
  for (int i = l + 1; i <= _; i++) {
    if (str[i] != '.' || !e) {
      putchar(str[i]);
    }
  }
  if (e) {
    printf("E%d", e);
  }
  return 0;
}
