2800: 文件列表

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

BSOI在线评测机被不明身份的人入侵了!!系统中大量的数据遭到恶意破坏,数据文件残缺不全。现在,老师正在尽力抢救数据文件。为了检查数据文件是否完整,老师打印出了所有文件的列表,但数据文件太多,老师眼睛都要看花了。所以,为了方便老师检查,需要你写个程序处理一下文件列表,转换成下面这样统一的格式:(//后面为注释)
data                //data文件夹,根目录
|----prob             //data下面的文件夹
|    |----a.in         //prob下面的文件
|    |----a.out
|----qq               //data下面的文件夹
|    |----new         //qq下面的文件夹
|    |    |----ok.txt    //new下面的文件
|    |----old          //空文件夹
|----xxx.rmvb
生成的列表格式有如下要求:
1.属于同一层的文件或文件夹位于相同的缩进处,相邻两层文件间差距5个字符;
2.每个文件夹或文件前有4个'-'(根目录除外),文件夹下方属于文件夹的部分有'|';
3.属于统一文件夹下的文件或子文件夹按字典序排列;

输入

第一行一个整数n(n<=50),表示总共的文件数目;
接下来n行,每行描述一个文件的路径,路径以'/'作为文件分隔符;
所有文件(及文件夹)名均由小写字母和英文点组成;
所有输入的根目录都是一样的,文件名长度不超过10个字符,每个文件夹下不超过15个文件,不超过5层。

输出

输出符合要求的文件列表

样例输入 复制

5
mydoc/abcd/abc.txt
mydoc/dd/libexec.a
mydoc/stdio.h
mydoc/abcd/zzz/game.cpp
mydoc/abcd/new

样例输出 复制

mydoc
|----abcd
|    |----abc.txt
|    |----new
|    |----zzz
|    |    |----game.cpp
|----dd
|    |----libexec.a
|----stdio.h

提示

【数据范围】
对于30%的数据,根目录下只有文件,没有文件夹
【注意】此题有special judge,全文比较过滤行末空格及文末回车。