Hacker Bill has accidentally lost all the information from his workstation’s hard drive and he has no
backup copies of its contents. He does not regret for the loss of the files themselves, but for the very nice
and convenient directory structure that he had created and cherished during years of work. Fortunately,
Bill has several copies of directory listings from his hard drive. Using those listings he was able to recover
full paths (like “WINNT\SYSTEM32\CERTSRV\CERTCO~1\X86”) for some directories. He put all of them
in a file by writing each path he has found on a separate line. Your task is to write a program that will
help Bill to restore his state of the art directory structure by providing nicely formatted directory tree.
Input
Input consists of several datasets. The first line of each dataset contains single integer number N
(1 ≤ N ≤ 500) that denotes a total number of distinct directory paths. Then N lines with directory
paths follow. Each directory path occupies a single line and does not contain any spaces, including
leading or trailing ones. No path exceeds 80 characters. Each path is listed once and consists of a
number of directory names separated by a back slash (\).
Each directory name consists of 1 to 8 uppercase letters, numbers, or the special characters from
the following list: exclamation mark, number sign, dollar sign, percent sign, ampersand, apostrophe,
opening and closing parenthesis, hyphen sign, commercial at, circumflex accent, underscore, grave
accent, opening and closing curly bracket, and tilde (!#$%&'()-@^_`{}~).
There is a blank line after each dataset.