У вас есть массив $$$a$$$ из $$$n$$$ строк $$$a_{1}, a_{2}, \ldots, a_{n}$$$, каждая из которых состоит из строчных английских букв, и пустая строка $$$s$$$.
На $$$i$$$-м ($$$1 \le i \le n$$$) шаге вы должны сделать одно из следующих действий:
Например, если перед $$$i$$$-м шагом $$$s = \mathtt{aba}$$$ и $$$a_{i} = \mathtt{bba}$$$, то после $$$i$$$-го шага $$$s$$$ будет равно $$$\mathtt{ababba}$$$ или $$$\mathtt{bbaaba}$$$.
Какую лексикографически наименьшую строку $$$s$$$ вы можете получить после $$$n$$$ шагов?
Строка $$$a$$$ лексикографически меньше строки $$$b$$$ такой же длины, если и только если выполняется следующее:
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 500$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит одно целое число $$$n$$$ ($$$1 \le n \le 1000$$$) — размер массива $$$a$$$. Следующая строка содержит $$$n$$$ строк $$$a_{1}, a_{2}, \ldots, a_{n}$$$ ($$$1 \le |a_i| \le 4000$$$), каждая из которых состоит из строчных английских букв.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превышает $$$1000$$$, и общая длина всех строк во входных данных (по всем наборам входных данных) не превышает $$$4000$$$.
Для каждого набора входных данных выведите лексикографически наименьшую строку $$$s$$$, которую вы можете получить после $$$n$$$ шагов.
3
4
amir rima amin nima
1
codeforces
3
a ab abc
aminamirrimanima
codeforces
aababc
В первом наборе входных данных один из возможных способов построить лексикографически наименьшую строку $$$s$$$ выглядит следующим образом:
Можно доказать, что эта полученная строка действительно является лексикографически наименьшей строкой, которую можно получить после всех шагов.