← Home
```go
package main

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

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

	extend := true
	for i := 0; i < n-1; i++ {
		if s[i] != s[i+1] {
			extend = s[i] < s[i+1]
			break
		}
	}

	m := 1
	for i := 1; i < n; i++ {
		if s[i] < s[0] {
			m = i + 1
		} else if s[i] == s[0] {
			if extend {
				m = i + 1
			} else {
				break
			}
		} else {
			break
		}
	}

	res := make([]byte, k)
	for i := 0; i < k; i++ {
		res[i] = s[i%m]
	}
	fmt.Println(string(res))
}
```