#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 10;
const int inf = 1e9 + 10;
string s;
int n, t;
int dp[maxn];
void solve() {
  cin >> n >> t;
  cin >> s;
  n = s.size();
  dp[n - 1] = inf;
  int pos = s.find('.');
  dp[pos] = inf;
  for (int i = s.size() - 2; i >= pos; i--) {
    bool f = 0;
    if (s[i + 1] == '.') {
      f = 1;
    }
    if (s[i + 1 + f] >= '5') {
      dp[i] = 1;
    } else if (s[i + 1 + f] == '4') {
      dp[i] = dp[i + 1] + 1;
    } else {
      dp[i] = inf;
    }
  }
  for (int i = pos; i < n; i++) {
    if (dp[i] <= t) {
      if (i < pos) {
        s = s.substr(0, i + 1);
        s.append(pos - i - 1, '0');
        while (i >= 0 && s[i] == '9') {
          s[i] = '0';
          i--;
        }
        if (i < 0)
          s.insert(0, 1, '1');
        else
          s[i] = s[i] + 1;
      } else {
        while (i >= 0 && s[i] != '.' && s[i] == '9') {
          i--;
        }
        if (s[i] == '.') {
          s = s.substr(0, pos);
          i--;
          while (i >= 0 && s[i] == '9') {
            s[i] = '0';
            i--;
          }
          if (i < 0)
            s.insert(0, 1, '1');
          else
            s[i] = s[i] + 1;
        } else {
          s = s.substr(0, i + 1);
          s.back() = s.back() + 1;
        }
      }
      break;
    }
  }
  cout << s << endl;
}
int main() {
  solve();
  return 0;
}
