스레드 트리

면접 대비

시간 제한2초메모리 제한512 MB

요약
각 게시물이 답글 대상 번호를 주어질 때, 게시물 메시지를 깊이만큼 점을 붙여 전위 순서로 출력한다.
난이도

쉬움10점 중 3점

유형
트리, DFS, 구현
정답자
아직 제출이 없습니다

문제

Nathan O. Davis는 JAG-channel이라는 전자 게시판 시스템을 운영하고 있다. 그는 이곳에 새 기능인 스레드 보기를 추가하느라 어려움을 겪고 있다.

다른 많은 게시판 시스템과 마찬가지로 JAG-channel은 스레드 기반이다. 여기서 스레드(토픽이라고도 한다)는 게시물 모음으로 이루어진 하나의 대화를 뜻한다. 각 게시물은 새 스레드를 시작하는 개시글이거나, 기존 스레드에 있는 이전 게시물에 대한 답글이다.

스레드 보기는 게시물 사이의 논리적 답글 구조를 반영하는 트리 형태의 보기이다. 각 게시물은 트리의 노드를 이루고, 그 답글들을 시간 순서대로(오래된 답글이 새 답글보다 앞선다) 자식 노드로 가진다. 게시물 하나와 그에 대한 직간접 답글 전체가 하나의 부분 트리를 이룬다.

예를 들어 보자. 한 사용자가 hoge라는 메시지로 개시글을 작성했다. 다른 사용자가 fuga로 답글을 달았다. 또 다른 사용자도 개시글에 piyo로 답글을 달았다. 누군가가 두 번째 게시물(fuga)에 foobar로 답글을 달았다. 다섯 번째 사용자는 같은 게시물에 jagjag로 답글을 달았다. 이 스레드의 트리는 다음과 같다.

hoge
├─fuga
│ ├─foobar
│ └─jagjag
└─piyo

Nathan은 구현을 쉽게 하려고 더 단순한 형식을 생각하고 있다. 개시글에서 각 게시물까지의 깊이를 점으로 나타내는 방식이다. 각 답글은 부모 게시물보다 점을 하나 더 가진다. 위 스레드의 트리는 다음과 같다.

hoge
.fuga
..foobar
..jagjag
.piyo

이 문제에서 여러분의 임무는 Nathan을 도와, 한 스레드에 주어진 게시물들을 Nathan의 형식으로 트리를 출력하는 프로그램을 작성하는 것이다.

입력

입력은 다음 형식의 데이터셋 하나로 이루어진다.

n
k1
M1
k2
M2
:
:
kn
Mn

첫째 줄에는 정수 n(1 ≤ n ≤ 1,000)이 주어지며, 이는 스레드에 있는 게시물의 수이다. 이어서 2n개의 줄이 주어진다. 각 게시물은 두 줄로 표현된다. 첫째 줄에는 정수 ki(k1 = 0, 2 ≤ i ≤ n일 때 1 ≤ ki < i)가 주어지며, i번째 게시물이 ki번째 게시물에 대한 답글임을 나타낸다. 둘째 줄에는 문자열 Mi가 주어지며, i번째 게시물의 메시지를 나타낸다. k1은 항상 0이며, 이는 첫 번째 게시물이 다른 어떤 게시물에도 답글을 달지 않았음, 즉 개시글임을 뜻한다.

각 메시지는 대문자, 소문자, 숫자로 이루어진 1자 이상 50자 이하의 문자열이다.

출력

주어진 n개의 메시지를 문제에서 설명한 형식에 맞게 출력한다.

예제5

  1. 예제 1

    입력
    1
    0
    icpc
    
    예상 출력
    icpc
    
  2. 예제 2

    입력
    5
    0
    hoge
    1
    fuga
    1
    piyo
    2
    foobar
    2
    jagjag
    
    예상 출력
    hoge
    .fuga
    ..foobar
    ..jagjag
    .piyo
    
  3. 예제 3

    입력
    8
    0
    jagjag
    1
    hogehoge
    1
    buhihi
    2
    fugafuga
    4
    ponyoponyo
    5
    evaeva
    4
    nowawa
    5
    pokemon
    
    예상 출력
    jagjag
    .hogehoge
    ..fugafuga
    ...ponyoponyo
    ....evaeva
    ....pokemon
    ...nowawa
    .buhihi
    
  4. 예제 4

    입력
    6
    0
    nakachan
    1
    fan
    2
    yamemasu
    3
    nennryou2
    4
    dannyaku4
    5
    kouzai11
    
    예상 출력
    nakachan
    .fan
    ..yamemasu
    ...nennryou2
    ....dannyaku4
    .....kouzai11
    
  5. 예제 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
    
    예상 출력
    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