Your computer filesystem is a tree with several directories. Initially, you only have the root directory “/”. A filepath describes a path from “/” to a directory, using slashes to separate directories. For instance, “/”: only the root; “/dev/”: “dev” inside the root; “/pictures/travel/porto/”: “porto” inside “travel” inside “pictures” inside the root.
You have three commands to change the filesystem:
Additionally, assume that the root will never be moved nor removed. But you can make /.
Given a list of commands, print the whole filesystem with an indented tree as shown in the sample outputs. List the children of every directory in alphabetical order.
Input
Input consists of between 1 and a few thousand commands. The directory names consist of between 1 and 8 lowercase letters. Every command will create a small number of new directories, if any. At every moment, the tree will not be “too large” nor “too high”.
Output
After every command, print a line with 20 dashes followed by the filesystem tree.
Input
make /dev/null/ make /dev/ make /dev/null/ move /dev/null/ /dev/
Output
--------------------
/
dev
null
--------------------
/
dev
null
--------------------
/
dev
null
--------------------
/
dev
null
Input
make /photos/travel/ make /test/a/b/z/ make /test/a/z/z/ move /photos/travel/ /test/a/b/ make /test/d/h/ erase /test/d/h/ erase /test/ move /photos/ /
Output
--------------------
/
photos
travel
--------------------
/
photos
travel
test
a
b
z
--------------------
/
photos
travel
test
a
b
z
z
z
--------------------
/
photos
test
a
b
travel
z
z
z
--------------------
/
photos
test
a
b
travel
z
z
z
d
h
--------------------
/
photos
test
a
b
travel
z
z
z
d
--------------------
/
photos
--------------------
/
photos