eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Дисковое дерево

Дисковое дерево

Лимит времени 2 секунды
Лимит использования памяти 16 MiB

Хакер Билл случайно потерял всю информацию с жесткого диска своей рабочей станции, и у него нет резервных копий содержимого. Он не сожалеет об утере самих файлов, однако у него имелась очень хорошая и удобная структура каталогов, которую он создавал и лелеял многие годы работы.

К счастью, у Билла имеется несколько копий каталогов из своего жесткого диска. Используя эти списки он смог восстановить полные пути (как например WINNT\SYSTEM32\CERTSRV\CERTCO~1\X86) для некоторых директорий. Он положил их все в файл, записав каждый найденный путь в отдельной строке.

Напишите программу, которая поможет Биллу восстановить изысканную структуру его директорий путем создания отформатированного дерева каталогов.

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

Первая строка содержит одно целое число N(1 ≤ N ≤ 500) - количество различных путей каталогов. Следующие N строк содержат пути к каталогам. Каждый путь к каталогу находится в отдельной строке и не содержит пробелов - ни ведущих, ни заключительных. Длина пути не превышает 80 символов. Каждый путь встречается один раз и содержит имена каталогов, разделенных обратным слэшем ("\").

Каждое имя каталога содержит от 1 до 8 заглавных букв, цифр, или специальных символов со следующего списка: восклицательный знак, знак номера, знак доллара, знак процента, амперсанд, апостроф, открывающая или закрывающая скобка, дефис, коммерческое а, изогнутый апостроф, символ подчеркивания, ударение, открывающая или закрывающая фигурная скобка и тильда ("!#$%'()-@^_' ").

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

Выходные данные следует отформатировать в виде дерева каталогов. Каждое имя каталога следует выводить в отдельной строке, ему предшествует количество пробелов, равное его глубине в иерархии каталогов. Подкаталоги следует выводить в лексикографическом порядке сразу же после родительских каталогов. Причем количество пробелов перед подкаталогом должно быть на один больше, нежели количество пробелов перед родительским каталогом. Корневые каталоги не содержат перед собой пробелов и также выводятся в лексикографическом порядке. Для уточнения формата вывода смотрите пример.

Пример

Входные данные #1
7
WINNT\SYSTEM32\CONFIG
GAMES
WINNT\DRIVERS
HOME
WIN\SOFT
GAMES\DRIVERS
WINNT\SYSTEM32\CERTSRV\CERTCO~1\X86
Выходные данные #1
GAMES
 DRIVERS
HOME
WIN
 SOFT
WINNT
 DRIVERS
 SYSTEM32
  CERTSRV
   CERTCO~1
    X86
  CONFIG