Вася ведёт публичную страницу организации "Мышь и клавиатура", где постоянно публикует различные новости из мира спортивного программирования. Для удобства поиска по новостям Вася прикрепляет к каждой из них список хештегов. В данной задаче хештегом называется строка, состоящая из маленьких букв английского алфавита и ровно одного символа '#', расположенного в начале строки. Длиной хештега будем называть количество символов в нём, без учёта символа '#'.
Начальство Васи распорядилось, что хештеги у каждой новости должны быть расположены в лексикографическом порядке (для пояснения смотрите примечания).
Поскольку вам не хочется менять порядок хештегов в уже написанной новости, вы решили удалить у некоторых хештегов некоторый суффикс (какое-то количество последних символов), при этом можно даже удалить весь текст хештега, оставив только символ '#', но сам символ '#' удалять нельзя. Из всех возможных вариантов такого удаления вы хотите выбрать тот, в котором суммарно будет удалено минимальное количество символов. Если и таких вариантов несколько, то разрешается использовать любой из них.
В первой строке находится одно число n (1 ≤ n ≤ 500 000) — количество хештегов в новости.
Каждая из следующих n строк содержит ровно один хештег положительной длины.
Обозначим через L суммарную длину всех хештегов. Гарантируется, L не превосходит 500 000.
Выведите полученные после удаления символов хештеги.
3
#book
#bigtown
#big
#b
#big
#big
3
#book
#cool
#cold
#book
#co
#cold
4
#car
#clothes
#art
#at
#
#
#art
#at
3
#apple
#apple
#fruit
#apple
#apple
#fruit
Слово a1, a2, ..., am длины m лексикографически меньше слова b1, b2, ..., bk длины k, если выполняется одно из двух:
Про последовательность слов говорят, что они идут в лексикографическом порядке, если каждое слово в нём (кроме последнего) лексикографически не превосходит следующее за ним.
Для слов, состоящих из маленьких латинских букв, лексикографический порядок совпадает с алфавитным порядком расположения слов в словаре.
Слово, состоящее только из символа '#', лексикографически меньше любого другого хештега. Поэтому в третьем примере мы не можем оставить два первых слова и сократить два вторых.
В данной задаче 50 тестов, помимо тестов из условия, каждый из них оценивается в 2 балла. Результаты работы ваших решений на первых 35 тестах будут доступны во время соревнования. Результаты работы на остальных 15 будут доступны после окончания соревнования.
Решения, корректно работающие при 1 ≤ n, L ≤ 15, наберут не менее 20 баллов.
Решения, корректно работающие при 1 ≤ n, L ≤ 1 000, наберут не менее 50 баллов.
Решения, корректно работающие при 1 ≤ n, L ≤ 100 000, наберут не менее 70 баллов.