#include <bits/stdc++.h>
using namespace std;
const int mod = 1000 * 1000 * 1000 + 7;
const int INF = 1000 * 1000 * 1000;
const long long LINF = (long long)INF * INF;
string s;
int32_t main(void) {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  ;
  cin >> s;
  reverse((s).begin(), (s).end());
  while (!s.empty() && s.back() == '0') s.pop_back();
  reverse((s).begin(), (s).end());
  int pos = -1;
  for (int i = (0); i < ((int)s.size()); i++)
    if (s[i] == '.') pos = i;
  if (pos < 0) {
    s.push_back('.');
    pos = s.size() - 1;
  }
  while (!s.empty() && s.back() == '0') s.pop_back();
  int pw = 0;
  while (pos > 1) {
    swap(s[pos], s[pos - 1]);
    pos--;
    pw++;
  }
  while (pos < 1) {
    swap(s[pos], s[pos + 1]);
    pos++;
    pw--;
  }
  while (s[pos - 1] == '0') {
    swap(s[pos], s[pos + 1]);
    pos++;
    pw--;
  }
  reverse((s).begin(), (s).end());
  while (!s.empty() && s.back() == '0') s.pop_back();
  reverse((s).begin(), (s).end());
  pos = 1;
  bool dot = false;
  for (int i = (pos + 1); i < ((int)s.size()); i++)
    if (s[i] > '0') dot = true;
  if (!dot) s = s[0];
  while (!s.empty() && s.back() == '0') s.pop_back();
  if (pw != 0) {
    s += 'E';
    s += to_string(pw);
  }
  cout << s << '\n';
  return 0;
}
