#include <bits/stdc++.h>
using namespace std;
const long long BIGER = 1000000000000000;
const int BIG = 1000000000;
string line() {
  char chr = 'z';
  string st;
  while (chr != '\n') {
    scanf("%c", &chr);
    if (chr != '\n') st += chr;
  }
  return st;
}
int ypa2(string &st) {
  string st2;
  for (int i = 0; i < st.size(); i++) {
    if (st[i] != ' ') st2 += st[i];
  }
  st = st2;
}
string sub(string st, long long l, long long r) {
  string st2;
  for (long long i = l; i <= r; i++) st2 += st[i];
  return st2;
}
int main() {
  string st;
  cin >> st;
  string st2;
  for (int i = 0; i < st.size(); i++) {
    if (st[i] != '.') st2 += st[i];
  }
  int i;
  for (i = st2.size() - 1; i > 0; i--) {
    if (st2[i] != '0') break;
  }
  st2 = sub(st2, 0, i);
  for (i = 0; i < st2.size() - 1; i++) {
    if (st2[i] != '0') break;
  }
  st2 = sub(st2, i, st2.size() - 1);
  cout << st2[0];
  if (st2.size() > 1) {
    cout << '.';
    for (int i = 1; i < st2.size(); i++) {
      cout << st2[i];
    }
  }
  if (st[0] == '.') st = '0' + st;
  for (i = 0; i < st.size(); i++) {
    if (st[i] != '0' || st[i + 1] == '.') break;
  }
  st = sub(st, i, st.size() - 1);
  int g = 0;
  for (i = 0; i < st.size(); i++) {
    if (st[i] != '0' && st[i] != '.') break;
    g++;
  }
  for (i = 0; i < st.size(); i++) {
    if (st[i] == '.') break;
  }
  if (i > g) {
    if (i - g - 1 != 0) cout << 'E' << i - g - 1;
  } else {
    if (i - g != 0) cout << 'E' << i - g;
  }
  cerr << endl << st << endl;
  return 0;
}
