#include <bits/stdc++.h>
using namespace std;
void delete_zeros(string &s) {
  int st = 0;
  while (s[st] == '0') {
    st++;
  }
  s = s.substr(st, s.size() - st);
  int end = s.size() - 1;
  while (s[end] == '0') {
    end--;
  }
  s = s.substr(0, end + 1);
}
int main() {
  string s;
  cin >> s;
  if (s.find('.') == string::npos) {
    s.push_back('.');
  }
  delete_zeros(s);
  int prev = 0, post = 0;
  for (int i = 0; i < s.size(); i++) {
    if (s[i] == '.') {
      break;
    }
    prev++;
  }
  for (int i = s.size() - 1; i >= 0; i--) {
    if (s[i] == '.') {
      break;
    }
    post++;
  }
  if (prev > 0) {
    string news;
    news = s[0];
    news += ".";
    news += s.substr(1, prev - 1);
    news += s.substr(prev + 1, post);
    delete_zeros(news);
    if (news[news.size() - 1] == '.') {
      news.pop_back();
    }
    cout << news;
    if (prev - 1 > 0) {
      cout << "E" << prev - 1;
    }
    cout << endl;
  } else if (post > 0) {
    int st = s.find(".") + 1;
    int k = -1;
    for (; st < s.size(); st++) {
      if (s[st] != '0') break;
      k--;
    }
    string news;
    news = s[st];
    news += ".";
    news += s.substr(st + 1, s.size() - st - 1);
    delete_zeros(news);
    if (news[news.size() - 1] == '.') {
      news.pop_back();
    }
    cout << news;
    cout << "E" << k << endl;
  } else {
    cout << 0 << endl;
  }
  return 0;
}
