Distribuição de Strings
Phoenix tem uma string composta por letras latinas minúsculas. Ele quer distribuir todas as letras da string em
strings
, não vazias, tal que todas as letras da string
sejam distribuidas. As strings
não precisam ser substrings de
. Phoenix pode distruibuir as letras de
e rearranjá-las do jeito que ele quiser em cada uma das strings
.
Por exemplo, se e
, Phoenix pode distribuir as letras da string de diversas maneiras, como:
e
e
e
e
Mas essas maneiras de distribuição são inválidas:
e
e
e uma string vazia (
deve ser não vazia)
Phoenix deseja distribuir as letras da string em
strings
de modo a minimizar a string lexicograficamente máxima entre todas elas, ou seja, minimizar
. Ajude-o a encontrar a distribuição ótima e imprima o menor valor possível de
.
Uma string é lexicograficamente menor que uma string
se
é um prefixo de
e
, ou existe algum índice
tal que
e para todo
,
.
Entrada:
A entrada consiste em diversos casos de teste. A primeira linha contém um intero , o número de casos de teste. Cada caso de teste possui duas linhas.
A primeira linha de cada caso de teste consiste em dois inteiros e
, o tamanho da string
e o número de strings não vazias em que Phoenix quer distribuir as letras de
, respectivamente.
A segunda linha de cada caso de teste tem a string de tamanho
, que é formada por letras latinas minúsculas.
Saída
Imprima strings, a i-ésima deve ser o valor mínimo de
para o i-ésimo caso de teste.
Restrições:
Exemplos:
ENTRADA |
SAÍDA |
6 4 2 baba 5 2 baacb 5 3 baacb 5 3 aaaaa 6 4 aaxxzz 7 1 phoenix |
ab abbc b aa x ehinopx |