#include<stdio.h>
#define N 25
#define NIL -1


struct Node{ int p, l, r;};
struct Node T[N];
int n, H, D[N];


void preorder(int );
void inorder(int );
void postorder(int );


main(){
  int i, j, d, v, c,l,r;
  
  scanf("%d",&n);
  
  for ( i = 0; i < n; i++ ) {
    T[i].p = T[i].l = T[i].r = NIL;
  }
 
  for(i=0;i<n;i++){
    scanf("%d%d%d",&T[i].p,&T[i].l ,&T[i].r);
  }




 
  

  preorder(0);
  
  /*

 for(i=0;i<n;i++){

  
}
 for(i=0;i<n;i++){
  

}
  */
  return 0;
}



void preorder(int x){  
printf("%d ",x);
  if(T[x].l != NIL)  preorder(T[x].l);

  else if(T[x].r != NIL) preorder(T[x].r);

  else preorder(T[T[x].p].r);
} 



/*
void inorder(Node u){
  if(u != NIL){
    inorder(u->left);
      printf(" %d",u->key);
    inorder(u->right);
}
}
*/