#include <bits/stdc++.h>
using namespace std;
const int MAX_N=1010;

int n,k; string ans;
vector<int> G[MAX_N];
int dep[MAX_N];
string M[MAX_N];

void dfs(int v,int p,string now){
    cout << now << M[v] << '\n';
    now+='.';
    for (int u:G[v]){
        if (u==p) continue;
        dep[u]=dep[v]+1;
        dfs(u,v,now);
    }
}

int main(){
    cin.tie(0);
    ios::sync_with_stdio(false);
    int n; cin >> n;
    for (int i=0;i<n;++i){
        cin >> k >> M[i];
        if (i) G[--k].emplace_back(i);
    }
    dep[0]=0;
    dfs(0,-1,"");
}
