#include <bits/stdc++.h>
using namespace std;
int main() {
  string s;
  cin >> s;
  long long nb = 0, nf = 0, zerb = 0;
  if (s[0] == '0') zerb++;
  for (long long i = 0; i < s.size(); i++) {
    if (s[i] != '.' && s[i] != 'e')
      nb++;
    else
      break;
  }
  if (s[nb] == '.') {
    for (long long i = nb; i < s.size(); i++) {
      if (s[i] != 'e')
        nf++;
      else
        break;
    }
  }
  nf--;
  long long pos = 0;
  for (long long i = s.size() - 1; i >= 0; i--) {
    if (s[i] == 'e') {
      pos = i;
      break;
    }
  }
  long long expo = atoi(s.substr(pos + 1, s.size() - pos - 1).c_str());
  if (zerb != 1) {
    cout << s[0];
  }
  long long zer = 0;
  for (long long i = pos - 1; i >= nb + 1; i--) {
    if (s[i] != '0')
      break;
    else
      zer++;
  }
  if (zer == nf) {
    if (zerb == 1)
      cout << 0;
    else {
      for (long long i = 0; i < expo; i++) cout << '0';
    }
    return 0;
  }
  if (zerb == 1 && expo == 0) cout << 0;
  if (nf == expo) {
    for (long long i = nb + 1; i < pos; i++) cout << s[i];
    return 0;
  }
  if (nf < expo) {
    for (long long i = nb + 1; i < pos - zer; i++) cout << s[i];
    if (zer != nf)
      for (long long i = 0; i < expo - nf; i++) cout << '0';
    else {
      for (long long i = 0; i < expo; i++) cout << '0';
    }
    return 0;
  }
  if (nf > expo) {
    for (long long i = nb + 1; i < nb + expo + 1; i++) cout << s[i];
    cout << '.';
    for (long long i = nb + expo + 1; i < pos; i++) cout << s[i];
  }
  return 0;
}
