#include <bits/stdc++.h>
using namespace std;
string s;
int ans1[1000005], ans2[1000005];
int to1, to2, pd1, pdd, pd2, zz1, zz2, zz3;
signed main() {
  cin >> s;
  int n = s.length();
  int x = 0;
  while (s[x] - '0' == 0) x++;
  for (int i = x; i < n; i++) {
    if (s[i] == '.') {
      pdd = 1;
      continue;
    }
    if (!pdd) {
      ans1[++to1] = s[i] - '0';
      if (s[i] - '0' != 0) {
        pd1 = 1;
        zz1 = to1;
      }
      continue;
    }
    if (pdd) {
      ans2[++to2] = s[i] - '0';
      if (s[i] - '0' != 0) {
        pd2 = 1;
        zz2 = to2;
      }
      if (!pd2 && s[i] - '0' == 0) {
        zz3 = to2;
      }
    }
  }
  if (!pdd || (pdd && pd1 && !pd2)) {
    cout << ans1[1];
    if (zz1 > 1) cout << ".";
    for (int i = 2; i <= zz1; i++) cout << ans1[i];
    if (to1 > 1) cout << "E" << to1 - 1;
    return 0;
  } else if (pdd && pd1 && pd2) {
    cout << ans1[1] << ".";
    for (int i = 2; i <= to1; i++) cout << ans1[i];
    for (int i = 1; i <= zz2; i++) cout << ans2[i];
    if (to1 > 1) cout << "E" << to1 - 1;
    return 0;
  } else if (!pd1 && pdd && pd2) {
    cout << ans2[zz3 + 1];
    if (zz2 > zz3 + 1) cout << ".";
    for (int i = zz3 + 2; i <= zz2; i++) cout << ans2[i];
    cout << "E-" << zz3 + 1;
    return 0;
  }
  return 0;
}
