Você começa com uma base de dados vazia e precisa processar uma série de consultas. Existem dois tipos de consultas: “Add” e “Search”. A consulta “Add” adiciona um nome à base de dados, enquanto a consulta “Search” pede que sejam exibidos todos os nomes na base de dados que comecem com um determinado prefixo, em ordem lexicográfica. No entanto, se houver mais de 20 nomes que correspondam ao prefixo, exiba apenas os primeiros 20.
Entrada
A entrada começa com um inteiro q (1 ≤ q ≤ 200 000) na primeira linha, indicando o número de consultas. As próximas q linhas contêm as consultas nos seguintes formatos:
Para consultas “Add”: add s (onde s é o nome a ser adicionado na base de dados).
Para consultas “Search”: search p (onde p é o prefixo que se deseja procurar).
O comprimento das cadeias de caracteres nas consultas não ultrapassa 20 caracteres.
Saída
Para cada consulta “Search”, imprima os nomes da base de dados que começam com o prefixo fornecido, separados por um espaço. Caso existam mais de 20 nomes correspondentes ao prefixo, mostre apenas os primeiros 20.
Exemplos
Entrada
Saída
9
add cat
add code
add core
search co
add profound
add found
search fo
add fight
search f