package main
import (
"bufio"
"fmt"
"os"
"sort"
)
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var t int
fmt.Fscan(reader, &t)
for i := 0; i < t; i++ {
var n, k int
fmt.Fscan(reader, &n, &k)
var s string
fmt.Fscan(reader, &s)
b := []byte(s)
sort.Slice(b, func(i, j int) bool {
return b[i] < b[j]
})
if b[0] != b[k-1] {
fmt.Fprintln(writer, string(b[k-1]))
} else {
if k == n {
fmt.Fprintln(writer, string(b[k-1]))
} else if b[k] == b[n-1] {
count := (n - k + k - 1) / k
res := make([]byte, 1+count)
res[0] = b[0]
for j := 1; j <= count; j++ {
res[j] = b[k]
}
fmt.Fprintln(writer, string(res))
} else {
fmt.Fprintln(writer, string(b[0])+string(b[k:]))
}
}
}
}