#include <bits/stdc++.h>
using namespace std;
char s[10000], s1[1000], s2[1000], s3[1000], tam[1000], xx[10000], demx;
int len, dem, so, vt, chay;
char kq[10000];
void solve() {
  int dem1, dem2, dem3, lenkq, i, k;
  dem1 = 0;
  dem2 = 0;
  dem3 = 0;
  len = strlen(s);
  chay = 1;
  for (i = 0; i < len; i++) {
    if (s[i] == '.' || s[i] == 'e') {
      chay++;
      continue;
    }
    if (chay == 1) {
      s1[dem1] = s[i];
      s1[dem1 + 1] = '\0';
      dem1++;
    }
    if (chay == 2) {
      s2[dem2] = s[i];
      dem2++;
      s2[dem2] = '\0';
    }
    if (chay == 3) {
      s3[dem3] = s[i];
      dem3++;
      s3[dem3] = '\0';
    }
  }
  so = atoi(s3);
  for (i = 0; i < dem1 / 2; i++) swap(s1[i], s1[dem1 - 1 - i]);
  for (i = dem1 - 1; i > 0; i--) {
    if (s1[i] == '0')
      s1[i] = '\0';
    else
      break;
  }
  dem1 = strlen(s1);
  for (i = 0; i < dem1 / 2; i++) {
    swap(s1[i], s1[dem1 - 1 - i]);
  }
  for (int i = dem2 - 1; i >= 0; i--) {
    if (s2[i] == '0')
      s2[i] = '\0';
    else
      break;
  }
  dem2 = strlen(s2);
  strcpy(kq, s1);
  lenkq = strlen(kq);
  k = 0;
  for (i = 0; i < so; i++) {
    if (k >= dem2) {
      kq[lenkq] = '0';
      lenkq++;
    } else {
      kq[lenkq] = s2[k];
      lenkq++;
    }
    k++;
  }
  if (k < dem2) {
    kq[lenkq] = '.';
    lenkq++;
    for (i = so; i < dem2; i++) {
      kq[lenkq] = s2[i];
      lenkq++;
    }
  }
  for (i = 0; i < lenkq / 2; i++) {
    swap(kq[i], kq[lenkq - 1 - i]);
  }
  for (i = lenkq - 1; i > 0; i--) {
    if (kq[i] == '0')
      kq[i] = '\0';
    else
      break;
  }
  lenkq = strlen(kq);
  if (kq[lenkq - 1] == '.') kq[lenkq] = '\0';
  lenkq = strlen(kq);
  for (i = 0; i < lenkq / 2; i++) {
    swap(kq[i], kq[lenkq - 1 - i]);
  }
  if (kq[0] == '.') printf("0");
  printf("%s\n", kq);
}
int main() {
  int i, j;
  while (scanf("%s", &s) > 0) {
    for (i = 0; i < 1000; i++) {
      s1[i] = '\0';
      s2[i] = '\0';
      s3[i] = '\0';
      kq[i] = '\0';
    }
    solve();
  }
  return 0;
}
