#include <bits/stdc++.h>
using namespace std;
int moveTo[200005];
bool visited[200005];
int answer[200005];
int n;
void dfs(int u) {
  visited[u] = true;
  if (u - 1 >= 1) {
    answer[u - 1] = min(answer[u - 1], answer[u] + 1);
  }
  if (u + 1 <= n) {
    answer[u + 1] = min(answer[u + 1], answer[u] + 1);
  }
  answer[moveTo[u]] = min(answer[moveTo[u]], answer[u] + 1);
}
int main() {
  int i, j;
  string str;
  string integer;
  string decimaldigits;
  bool decimalFound = false;
  cin >> str;
  for (auto s : str) {
    if (s == '.') {
      decimalFound = true;
      continue;
    } else if (s == 'e') {
      break;
    }
    if (decimalFound) {
      decimaldigits.push_back(s);
    } else {
      integer.push_back(s);
    }
  }
  stringstream ss;
  ss << str.substr(str.find('e') + 1);
  int expo;
  ss >> expo;
  if ((expo == 0 && decimaldigits == "0")) {
    cout << integer;
  } else if (expo >= decimaldigits.size()) {
    cout << integer << decimaldigits;
    for (i = 0; i < (expo - (int)decimaldigits.size()); i++) {
      cout << "0";
    }
  } else {
    cout << integer << decimaldigits.substr(0, expo) << "."
         << decimaldigits.substr(expo);
  }
  return 0;
}
