#include <bits/stdc++.h>
using namespace std;
int main() {
  char h[1000002];
  scanf("%s", h);
  string x = string(h);
  int i;
  for (i = 0; i < x.size(); i++)
    if (x[i] != '0') break;
  if (i) x.erase(x.begin(), x.begin() + i);
  for (i = 0; i < x.size(); i++)
    if (x[i] == '.') break;
  if (i == x.size()) x += ".";
  for (i = x.size() - 1; i >= 0; i--)
    if (x[i] == '0')
      x.erase(x.begin() + i);
    else
      break;
  for (i = 0; i < x.size(); i++)
    if (x[i] == '.') break;
  if (i == 1) {
    if (x.size() == 2)
      cout << x[0] << endl;
    else
      cout << x << endl;
  } else if (!i) {
    string ans = "";
    int k = 0;
    for (int i = 1, b = 0; i < x.size(); i++)
      if (b)
        ans += x[i];
      else if (x[i] != '0')
        ans += x[i], ans += ".", b = 1, k = i;
    if (ans.size() == 2)
      cout << ans[0] << "E" << -k << endl;
    else
      cout << ans << "E" << -k << endl;
  } else {
    int k = 0;
    if (x[x.size() - 1] == '.') {
      k = x.size() - 2;
      for (i = x.size() - 2; i >= 0; i--)
        if (x[i] == '0')
          x.erase(x.begin() + i);
        else
          break;
    }
    string ans = "";
    ans += x[0];
    ans += ".";
    for (int i = 1, b = 0; i < x.size(); i++)
      if (x[i] == '.')
        if (!k)
          k = i - 1;
        else
          break;
      else
        ans += x[i];
    if (ans.size() == 2)
      cout << ans[0] << "E" << k << endl;
    else
      cout << ans << "E" << k << endl;
  }
}
