#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  string s;
  cin >> s;
  deque<char> l, r;
  bool plus = true;
  for (int i = 0; s[i]; ++i) {
    if (s[i] == '.') {
      plus = false;
    } else {
      if (plus) {
        l.push_back(s[i]);
      } else {
        r.push_back(s[i]);
      }
    }
  }
  l.push_front('0');
  while (l.size() > 1 && l[0] == '0') {
    l.pop_front();
  }
  while (r.size() > 0 && r[r.size() - 1] == '0') {
    r.pop_back();
  }
  if (l.size() == 1) {
    if (l[0] == '0') {
      int k = 0;
      for (int i = 0; i < r.size(); ++i) {
        k++;
        if (r[i] != '0') {
          break;
        }
      }
      cout << r[k - 1];
      string t;
      for (int i = k; i < r.size(); ++i) {
        t += r[i];
      }
      while (t.size() > 0 && t[t.size() - 1] == '0') {
        t.erase(t.size() - 1, 1);
      }
      if (t.size() > 0) {
        cout << "." + t;
      }
      cout << 'E' << -k << endl;
    } else {
      for (int i = 0; i < l.size(); ++i) {
        cout << l[i];
      }
      if (r.size() > 0) {
        cout << ".";
        for (int i = 0; i < r.size(); ++i) {
          cout << r[i];
        }
        cout << endl;
      }
    }
  } else {
    cout << l[0];
    string t;
    for (int i = 1; i < l.size(); ++i) {
      t += l[i];
    }
    for (int i = 0; i < r.size(); ++i) {
      t += r[i];
    }
    while (t.size() > 0 && t[t.size() - 1] == '0') {
      t.erase(t.size() - 1, 1);
    }
    if (t.size() > 0) {
      cout << "." + t;
    }
    cout << "E" << l.size() - 1 << endl;
  }
  return 0;
}
