#include <bits/stdc++.h>
const double eps = 1e-8;
const double pi = acos(-1.0);
std::string p;
int l = 1, r;
int find(char ch) {
  for (long long i(l), iend(r); i <= iend; ++i) {
    if (p[i] == ch) return i;
  }
  return -1;
}
int main(int argc, char const *argv[]) {
  std::cin >> p;
  r = p.length();
  p = ' ' + p;
  int poi = find('.');
  while (p[l] == 48) l++;
  while ((~poi) and p[r] == 48) r--;
  if (p[r] == '.') {
    r--;
  }
  if (p[l] == '.') {
    int e = -1, t = l + 1;
    while (p[t] == '0') t++, e--;
    putchar(p[t]);
    if (t != r) {
      putchar('.');
      for (long long i(t + 1), iend(r); i <= iend; ++i) putchar(p[i]);
    }
    printf("E%d", e);
    return 0;
  }
  int e = ((~poi) ? poi - 1 : r) - l;
  int tmp = r;
  while (tmp > l && p[tmp] == 48) tmp--;
  putchar(p[l]);
  if (e && tmp > l) {
    putchar('.');
  }
  for (int i = l + 1; i <= tmp; i++) {
    if (p[i] != '.' || !e) {
      putchar(p[i]);
    }
  }
  if (e) {
    printf("E%d", e);
  }
  return 0;
}
