B. Самый длинный палиндром
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вернувшись к решению задач, Гильдонг взялся за изучение палиндромов. Он выяснил, что палиндром это строка, которая равна своему перевороту. Например, строки «pop», «noon», «x», и «kkkkkk» являются палиндромами, а строки «moon», «tv», и «abab» не являются. Пустая строка также является палиндромом.

Гильдонгу очень понравился этот концепт, так что он решил немного с ним поиграть. У него есть $$$n$$$ различных строк равной длины $$$m$$$. Он хочет удалить некоторые из этих строк (возможно, ни одну, или все) и переставить оставшиеся, чтобы их конкатенация была палиндромом. Он также хочет, чтобы палиндром был как можно длиннее. Помогите ему решить эту задачу!

Входные данные

В первой строке записаны два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n \le 100$$$, $$$1 \le m \le 50$$$) — количество строк и длина каждой строки.

В следующих $$$n$$$ строках записаны строки длины $$$m$$$, состоящие только из строчных букв латинского алфавита. Все данные строки различны.

Выходные данные

В первую строку выведите длину наибольшего палиндрома.

Во вторую строку выведите искомый палиндром. Если есть несколько возможных ответов, выведите любой. Если палиндром пуст, то можете как вывести пустую строку, так и не выводить эту строку вообще.

Примеры
Входные данные
3 3
tab
one
bat
Выходные данные
6
tabbat
Входные данные
4 2
oo
ox
xo
xx
Выходные данные
6
oxxxxo
Входные данные
3 5
hello
codef
orces
Выходные данные
0

Входные данные
9 4
abab
baba
abcd
bcde
cdef
defg
wxyz
zyxw
ijji
Выходные данные
20
ababwxyzijjizyxwbaba
Примечание

В первом примере «battab» также является корректным ответом.

Во втором примере есть 4 разных возможных корректных ответа, включая ответ из примера. Мы не будем давать никаких подсказок, какими являются остальные ответы.

В третьем примере единственная возможная строка — пустая.