← Home
```go
package main

import (
	"bufio"
	"fmt"
	"os"
	"strings"
)

func main() {
	reader := bufio.NewReader(os.Stdin)
	var n, t int
	fmt.Fscan(reader, &n, &t)
	var s string
	fmt.Fscan(reader, &s)

	b := []byte(s)
	dotIndex := strings.Index(s, ".")
	if dotIndex == -1 {
		fmt.Println(s)
		return
	}

	var first5 int = -1
	for i := dotIndex + 1; i < len(b); i++ {
		if b[i] >= '5' {
			first5 = i
			break
		}
	}

	if first5 == -1 {
		fmt.Println(s)
		return
	}

	i := first5
	carry := 0
	for i > dotIndex && b[i] >= '5' && t > 0 {
		t--
		i--
		if b[i] == '.' {
			carry = 1
			break
		} else {
			b[i]++
		}
	}

	if carry == 1 {
		ptr := dotIndex - 1
		for ptr >= 0 {
			b[ptr]++
			if b[ptr] > '9' {
				b[ptr] = '0'
				ptr--
			} else {
				carry = 0
				break
			}
		}
		if carry == 1 {
			fmt.Print("1")
		}
		fmt.Println(string(b[:dotIndex]))
	} else {
		fmt.Println(string(b[:i+1]))
	}
}
```