Hacker Bill has accidentally lost all the information from his workstation's hard drive, and he has no backup copies. He does not regret the loss of the files themselves, but he misses the convenient and carefully organized directory structure he created and maintained over the years.
Fortunately, Bill has several copies of directory listings from his hard drive. Using these listings, he was able to recover the full directory paths (such as WINNT\SYSTEM32\CERTSRV\CERTCO~1\X86) for some directories. He wrote all the recovered paths to a file, placing each one on a separate line.
Your task is to help Bill restore his directory structure by formatting and printing a directory tree based on the available paths.
The first line contains a single integer (1 \leq N \leq 500), the number of distinct directory paths. The next lines each contain one directory path, with no leading or trailing spaces. Each path does not exceed characters and appears exactly once. Each path consists of directory names separated by a backslash ("").
Each directory name contains to characters, which can be uppercase Latin letters, digits, or any of the following special characters: exclamation mark, number sign, dollar sign, percent sign, ampersand, apostrophe, opening or closing parenthesis, hyphen, commercial at, circumflex accent, underscore, grave accent, opening or closing curly brace, and tilde ("!#$%'()-@^_' ").
Print the formatted directory tree. Each directory name should be printed on its own line, preceded by a number of spaces equal to its depth in the directory hierarchy. Subdirectories must appear in lexicographical order, immediately after their parent directory, and be indented one space further than their parent. Top-level directories should have no leading spaces and should also be listed in lexicographical order.
See the sample for clarification of the output format.
Example 1