#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
const int N = 5000;
int e[26][26];
int main() {
  string s;
  cin >> s;
  auto dp = find(s.begin(), s.end(), '.');
  int dot_pos = dp - s.begin();
  auto de = find(s.begin(), s.end(), 'e');
  int e_pos = de - s.begin();
  string b_str(de + 1, s.end());
  string g(s.begin(), de);
  int b = stoi(b_str);
  for (int i = 0; i < b; ++i) {
    if (dot_pos < g.size() - 1) {
      swap(g[dot_pos], g[dot_pos + 1]);
      ++dot_pos;
    } else {
      g.push_back('0');
      swap(g[dot_pos], g[dot_pos + 1]);
      ++dot_pos;
    }
  }
  if (g[g.size() - 1] == '.') {
    g.pop_back();
  }
  if (g.size() >= 2 && g[g.size() - 1] == '0' && g[g.size() - 2] == '.') {
    g.pop_back();
    g.pop_back();
  }
  int fnz = 0;
  for (; fnz < g.size(); ++fnz) {
    if (g[fnz] != '0') break;
  }
  if (fnz == g.size())
    cout << 0 << endl;
  else {
    string ans(g.begin() + max(0, fnz - 1), g.end());
    cout << ans << endl;
  }
  return 0;
}
