#include <bits/stdc++.h>
using namespace std;
queue<char> q1, q2, q3;
void Do(string temp) {
  int num = 0;
  int j = 0, a = 0, b = 0, i, word = 0;
  while (temp[j] != '.') {
    q1.push(temp[j]);
    j++;
  }
  j++;
  while (temp[j] != 'e') {
    if (temp[j] == '0') num++;
    q2.push(temp[j]);
    j++;
  }
  j++;
  while (temp[j] != '\0') {
    q3.push(temp[j]);
    j++;
  }
  while (!q1.empty()) {
    a = 10 * a + q1.front() - '0';
    q1.pop();
  }
  while (!q3.empty()) {
    b = 10 * b + q3.front() - '0';
    q3.pop();
  }
  if (a == 0 && b == 0) {
    printf("0");
    if (num != q2.size()) {
      printf(".");
      while (!q2.empty()) {
        printf("%c", q2.front());
        q2.pop();
      }
    }
    putchar('\n');
  } else {
    printf("%d", a);
    int t = q2.size();
    if (num == t) {
      for (int j = 1; j <= b; j++) printf("0");
      while (!q2.empty()) {
        q2.pop();
      }
    } else {
      for (i = 1; i <= t; i++) {
        if (i > b) {
          word = 1;
          putchar('.');
          while (!q2.empty()) {
            putchar(q2.front());
            q2.pop();
          }
          break;
        } else
          putchar(q2.front());
        q2.pop();
      }
      if (!word) {
        for (; i <= b; i++) {
          printf("0");
        }
      }
    }
    printf("\n");
  }
}
int main() {
  string data;
  while (cin >> data) {
    Do(data);
  }
  return 0;
}
