디스크 트리

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

어느 날 노트북이 갑자기 켜지지 않게 되었습니다. 다행히 그 안에 들어 있던 중요한 디렉터리들의 전체 경로는 미리 텍스트 파일에 따로 저장해 두었습니다. 예를 들면 WINNT\SYSTEM32\CERTSRV\CERTCO~1\X86 과 같은 형식입니다.

중요한 디렉터리들의 전체 경로가 모두 주어질 때, 이 경로들로부터 디렉터리 구조(트리)를 복원하여 보기 좋게 출력하는 프로그램을 작성하세요.

입력

첫째 줄에 중요한 디렉터리 전체 경로의 개수 NN (1N5001 \le N \le 500)이 주어집니다. 이어지는 NN개의 줄에 각각 하나의 디렉터리 경로가 주어집니다.

  • 각 경로는 공백을 포함하지 않는 한 줄짜리 문자열이며, 길이는 8080자를 넘지 않습니다.
  • 경로에서 디렉터리는 역슬래시 \ 로 구분됩니다.
  • 각 디렉터리 이름의 길이는 11자 이상 88자 이하이며, 알파벳 대문자, 숫자, 특수 문자로 이루어집니다.
  • 디렉터리 이름에 쓰일 수 있는 특수 문자는 !#$%&'()-@^_`{}~ 입니다.

출력

복원한 디렉터리 구조를 다음 규칙에 따라 보기 좋게 출력합니다.

  • 한 줄에 디렉터리 이름을 하나씩 출력합니다.
  • 각 줄 맨 앞의 공백 개수는 그 디렉터리의 깊이를 나타냅니다. 최상위(루트) 디렉터리는 공백 없이 출력합니다.
  • 어떤 디렉터리의 자식 디렉터리는 그 부모보다 공백을 정확히 11개 더 붙여서 출력합니다.
  • 같은 부모를 가진 자식 디렉터리들은 이름의 사전순(ASCII 문자 코드 오름차순)으로 출력합니다.

힌트

이 이야기는 실화를 재해석한 것으로, 다음 날 아침에 일어나 보니 노트북이 다시 켜졌다고 합니다.