#include <bits/stdc++.h>
using namespace std;
const int N = 3e5 + 7;
const int M = 1e7 + 7;
const int inf = 0x3f3f3f3f;
const long long INF = 0x3f3f3f3f3f3f3f3f;
const int mod = 1e9 + 7;
string s;
int main() {
  cin >> s;
  int q = 0, pos, item = -1;
  for (int i = 0; i < s.size(); i++) {
    if (s[i] == 'e')
      pos = i;
    else if (s[i] == '.')
      item = i;
  }
  for (int i = pos + 1; i < s.size(); i++) q *= 10, q += s[i] - '0';
  string ans = s.substr(0, pos);
  if (item != -1) {
    if (q == 0 && item + 2 == pos && s[item + 1] == '0') {
      for (int i = 0; i < item; i++) putchar(s[i]);
      return 0;
    }
    int cnt = ans.size() - item - 1;
    if (cnt <= q) {
      while (cnt < q) cnt++, ans.push_back('0');
      bool flag = true;
      for (int i = 0; i < ans.size(); i++) {
        if (ans[i] == '.') continue;
        if (ans[i] != '0' || !flag) {
          putchar(ans[i]);
          flag = false;
        }
      }
    } else {
      int w = item + q;
      if (q == 0) w--;
      bool flag = true;
      for (int i = 0; i < ans.size(); i++) {
        if (ans[i] != '.' && (ans[i] != '0' || !flag || i == w)) {
          putchar(ans[i]);
          flag = false;
        }
        if (i == w) putchar('.'), flag = false;
      }
    }
  } else {
    for (int i = 0; i < q; i++) ans.push_back('0');
    cout << ans << endl;
  }
}
