Time Limit: 2 sec / Memory Limit: 256 MB
Problem Statement
Nathan O. Davis has been running an electronic bulletin board system named JAG-channel. He is now having hard time to add a new feature there --- threaded view.
Like many other bulletin board systems, JAG-channel is thread-based. Here a thread (also called a topic) refers to a single conversation with a collection of posts. Each post can be an opening post, which initiates a new thread, or a reply to a previous post in an existing thread.
Threaded view is a tree-like view that reflects the logical reply structure among the posts: each post forms a node of the tree and contains its replies as its subnodes in the chronological order (i.e. older replies precede newer ones). Note that a post along with its direct and indirect replies forms a subtree as a whole.
Let us take an example. Suppose:
a user made an opening post with a message hoge
;
another user replied to it with fuga
;
yet another user also replied to the opening post with piyo
;
someone else replied to the second post (i.e. fuga
”) with foobar
; and
the fifth user replied to the same post with jagjag
.
The tree of this thread would look like:
hoge ├─fuga │ ├─foobar │ └─jagjag └─piyo
For easier implementation, Nathan is thinking of a simpler format: the depth of each post from the opening post is represented by dots. Each reply gets one more dot than its parent post. The tree of the above thread would then look like:
hoge .fuga ..foobar ..jagjag .piyo
Your task in this problem is to help Nathan by writing a program that prints a tree in the Nathan's format for the given posts in a single thread.
Input
Input contains a single dataset in the following format:
n k_1 M_1 k_2 M_2 : : k_n M_n
The first line contains an integer n (1 \leq n \leq 1,000), which is the number of posts in the thread. Then 2n lines follow. Each post is represented by two lines: the first line contains an integer k_i (k_1 = 0, 1 \leq k_i < i for 2 \leq i \leq n) and indicates the i-th post is a reply to the k_i-th post; the second line contains a string M_i and represents the message of the i-th post. k_1 is always 0, which means the first post is not replying to any other post, i.e. it is an opening post.
Each message contains 1 to 50 characters, consisting of uppercase, lowercase, and numeric letters.
Output
Print the given n messages as specified in the problem statement.
Sample Input 1
1 0 icpc
Output for the Sample Input 1
icpc
Sample Input 2
5 0 hoge 1 fuga 1 piyo 2 foobar 2 jagjag
Output for the Sample Input 2
hoge .fuga ..foobar ..jagjag .piyo
Sample Input 3
8 0 jagjag 1 hogehoge 1 buhihi 2 fugafuga 4 ponyoponyo 5 evaeva 4 nowawa 5 pokemon
Output for the Sample Input 3
jagjag .hogehoge ..fugafuga ...ponyoponyo ....evaeva ....pokemon ...nowawa .buhihi
Sample Input 4
6 0 nakachan 1 fan 2 yamemasu 3 nennryou2 4 dannyaku4 5 kouzai11
Output for the Sample Input 4
nakachan .fan ..yamemasu ...nennryou2 ....dannyaku4 .....kouzai11
Sample Input 5
34 0 LoveLive 1 honoka 2 borarara 2 sunohare 2 mogyu 1 eri 6 kasikoi 7 kawaii 8 eriichika 1 kotori 10 WR 10 haetekurukotori 10 ichigo 1 umi 14 love 15 arrow 16 shoot 1 rin 18 nyanyanya 1 maki 20 6th 20 star 22 nishikino 1 nozomi 24 spiritual 25 power 1 hanayo 27 darekatasukete 28 chottomattete 1 niko 30 natsuiro 30 nikkonikkoni 30 sekaino 33 YAZAWA
Output for the Sample Input 5
LoveLive .honoka ..borarara ..sunohare ..mogyu .eri ..kasikoi ...kawaii ....eriichika .kotori ..WR ..haetekurukotori ..ichigo .umi ..love ...arrow ....shoot .rin ..nyanyanya .maki ..6th ..star ...nishikino .nozomi ..spiritual ...power .hanayo ..darekatasukete ...chottomattete .niko ..natsuiro ..nikkonikkoni ..sekaino ...YAZAWA
Sample Input 6
6 0 2ch 1 1ostu 1 2get 1 1otsu 1 1ostu 3 pgr
Output for the Sample Input 6
2ch .1ostu .2get ..pgr .1otsu .1ostu