#include <bits/stdc++.h>
using namespace std;
char c[1000010];
int n, wh = -1;
vector<int> g1, g2;
int main() {
  scanf("%s", c);
  n = strlen(c);
  int l = 0, r = n - 1;
  while (l < n && c[l] == '0') l++;
  for (int i = 0; i < n; i++)
    if (c[i] == '.') wh = i;
  if (wh == n - 1 || wh == -1) {
    r = n - 1 - (wh == n - 1);
    printf("%c", c[l]);
    while (c[r] == '0') r--;
    if (l != r) {
      printf(".");
      for (int i = l + 1; i <= r; i++) printf("%c", c[i]);
    }
    if (n - 1 - (wh == n - 1) - l) printf("E%d", n - 1 - (wh == n - 1) - l);
    return 0;
  }
  while (r >= 0 && c[r] == '0') r--;
  for (int i = l; i < wh; i++) g1.push_back(c[i] - '0');
  if (g1.empty()) g1.push_back(0);
  for (int i = wh + 1; i <= r; i++) g2.push_back(c[i] - '0');
  if (g2.empty()) {
    printf("%d", g1[0]);
    int r = g1.size() - 1;
    while (!g1[r]) r--;
    if (r) {
      printf(".");
      for (int i = 1; i <= r; i++) printf("%d", g1[i]);
    }
    if (g1.size() > 1) printf("E%d", g1.size() - 1);
    return 0;
  }
  if (g1[0]) {
    printf("%d.", g1[0]);
    for (int i = 1; i < g1.size(); i++) printf("%d", g1[i]);
    for (int i = 0; i < g2.size(); i++) printf("%d", g2[i]);
    if (g1.size() != 1) printf("E%d", g1.size() - 1);
  } else {
    for (int i = 0; i < g2.size(); i++)
      if (g2[i]) {
        printf("%d", g2[i]);
        if (i != g2.size() - 1) printf(".");
        for (int j = i + 1; j < g2.size(); j++) printf("%d", g2[j]);
        printf("E%d", -(i + 1));
        break;
      }
  }
  return 0;
}
