#include <bits/stdc++.h>
using namespace std;
vector<int> num[2];
void print() {
  static int s = 0;
  cout << "---------------" << s << "------------------" << endl;
  s++;
}
void print(vector<int> num[]) {
  for (int i = num[0].size() - 1; i >= 0; i--) {
    printf("%d", num[0][i]);
  }
  if (num[1].size()) {
    printf(".");
    for (int i = 0; i < num[1].size(); i++) {
      printf("%d", num[1][i]);
    }
  }
  cout << endl;
}
void add(vector<int> &a, int b) {
  for (int i = 0; i < a.size(); i++) {
    b += a[i];
    a[i] = b % 10;
    b /= 10;
    if (!b) break;
  }
  while (b) a.push_back(b % 10), b /= 10;
}
void add(vector<int> a[], int b, int k) {
  for (int i = k - 1; i >= 0; i--) {
    b += a[1][i];
    if (b < 10) {
      a[1][i] = b;
      b /= 10;
      break;
    } else {
      a[1][i] = b % 10;
      b /= 10;
    }
  }
  if (b > 0) add(num[0], b);
  while (num[1].size() > k) num[1].pop_back();
}
int main() {
  int n, t;
  int x = 0;
  string str;
  scanf("%d %d", &n, &t);
  cin >> str;
  for (int i = 0; i < str.length(); i++) {
    if (str[i] == '.')
      x++;
    else
      num[x].push_back(str[i] - '0');
  }
  reverse(num[0].begin(), num[0].end());
  if (num[1].size() && t) {
    int i = 0;
    for (; i < num[1].size(); i++) {
      if (num[1][i] >= 5) {
        add(num, 1, i);
        t--;
      }
    }
  }
  for (int i; t;) {
    i = num[1].size() - 1;
    if (i < 0) break;
    if (num[1][i] >= 5) {
      add(num, 1, i);
      t--;
    } else
      break;
  }
  print(num);
  return 0;
}
