Сортировать учебники
Школа скоро начнется (если она еще не началась), и пришло время привести наши учебники в порядок. Вам нужно отсортировать книги в алфавитном порядке, но это занимает слишком много времени, поэтому вы решаете написать программу для этого.
Примеры
Входные данные:
_
| | _
|F| | |
|o|_|P|
|o|B|P|
| |a|C|
| |r|G|
|_|_|_|
Выход:
_
| |_
|F| |
_|o|P|
|B|o|P|
|a| |C|
|r| |G|
|_|_|_|
вход
На входе будет набор книг, которые нужно переставить по алфавиту. Он будет содержать только: |
, _
, , и
A-Za-z
. Названия книг читаются вертикально, сверху вниз.
Вы можете предположить, что ввод дополнен пробелом, чтобы соответствовать прямоугольнику. Если вы решили заполнить свой ввод пробелами, укажите это в своем ответе.
Максимальная высота книги, которую должна обработать ваша программа, составляет 5 120 строк без сбоев.
Книги всегда будут иметь толщину 1, и их всегда будет хотя бы одна книга на входе
Выход
Вывод должен быть таким же набором книг, организованных в алфавитном порядке. Высота книг должна быть одинаковой, а заголовок должен иметь одинаковое расстояние от вершины при перестановке.
Книги должны быть отсортированы по алфавиту. Если ваш язык поддерживает функцию сортировки, вы можете использовать ее. В противном случае вы можете использовать сортировку по алфавиту, как описано здесь .
Примеры названий книг
_
| |
| |
|F|
|o|
|o|
| |
| |
|B|
|a|
|r|
| |
| |
|_|
Название этой книги:
"Foo Bar"
Названия книг будут содержать только буквы и пробелы.
Конечный пробел разрешен
выигрыш
Это код-гольф, поэтому выигрывает самый короткий код в байтах.