#include <bits/stdc++.h>
using namespace std;
int main() {
  long int i, j, k, l, n, test_case;
  test_case = 1;
  string str, s1, s2;
  while (test_case--) {
    cin >> str;
    n = str.length();
    int flag = 0;
    for (i = 0; i < n; i++) {
      if (str[i] == 'e') {
        flag = 1;
      } else if (flag == 0) {
        s1 = s1 + str[i];
      } else {
        s2 = s2 + str[i];
      }
    }
    long int temp = 0, bb = 1;
    for (i = s2.length() - 1; i >= 0; i--) {
      temp = temp + (s2[i] - '0') * bb;
      bb *= 10;
    }
    str = "";
    flag = 0;
    for (i = 0; i < s1.length(); i++) {
      if (s1[i] == '.') {
        flag = i;
      }
    }
    for (i = 0; i < s1.length(); i++) {
      if (s1[i] == '0' || s1[i] == '.')
        continue;
      else
        break;
    }
    if (i == s1.length()) {
      cout << "0";
      return 0;
    }
    if (flag == 0) {
      cout << s1;
      for (i = 0; i < temp; i++) {
        cout << "0";
      }
    } else {
      if (flag + temp < (s1.length() - 1)) {
        for (i = 0; i < s1.length(); i++) {
          if (i == flag + temp + 1) {
            str = str + '.';
          }
          if (s1[i] != '.') {
            str = str + s1[i];
          }
        }
      } else {
        for (i = 0; i < s1.length(); i++) {
          if (s1[i] != '.') {
            str = str + s1[i];
          }
        }
        for (i = 0; i < (flag + temp - s1.length() + 1); i++) {
          str = str + '0';
        }
      }
      i = 0;
      while (str[i] == '0' && i < str.length()) {
        i++;
      }
      if (str[i] == '.') {
        i--;
      }
      for (j = i + 2; j < str.length(); j++) {
        if (str[j] == '0')
          continue;
        else {
          for (j = i; j < str.length(); j++) {
            cout << str[j];
          }
          return 0;
        }
      }
      for (j = i; j < str.length(); j++) {
        if (str[j] == '.') break;
        cout << str[j];
      }
    }
  }
  return 0;
}
