#include <bits/stdc++.h>
using namespace std;
struct node{
int left,right;
char val;
}tree[30];
void preorder(int r){
if(r == 0) return ;
cout << tree[r].val <<' ';
preorder(tree[r].left);
preorder(tree[r].right);
}
void inorder(int r){
if(r == 0) return ;
inorder(tree[r].left);
cout << tree[r].val <<' ';
inorder(tree[r].right);
}
void postorder(int r){
if(r == 0) return ;
postorder(tree[r].left);
postorder(tree[r].right);
cout << tree[r].val <<' ';
}
int main(){
int n;
cin >> n;
for(int i = 0;i <n;i++)
cin >> tree[i].val >> tree[i].left >> tree[i].right;
preorder(1);
inorder(1);
postorder(1);
return 0;
}