```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))
}
```