#include<stdio.h>
void Preorder(int);void  Inorder(int);void Postorder(int);
//ST[1]は親はST[0]|は子の数
int ST[100000][2];
int ST2[100000][2];
int main(){
  int n,i,j,NN,MN,free;
  scanf("%d",&n);
  for(i=0;i<n;i++)ST2[i][1]=-1;
  for(i=0;i<n;i++){
    scanf("%d",&NN);
    MN=2;
    ST2[NN][0]=MN;
    for(j=0;j<MN;j++){
      scanf("%d",&free);
      ST[NN][j]=free;
      if(free==-1)continue;
      ST2[free][1]=NN;
    }
  }
  for(i=0;ST2[i][1]!=-1;i++);
  printf("Preorder\n");
  Preorder(i);
  printf("\nInorder\n");
  Inorder(i);
  printf("\nPostorder\n");
  Postorder(i);
  printf("\n");
  return 0;
}
void Preorder(int i){
  if(i==-1)return;
  printf(" %d",i);
  Preorder(ST[i][0]);
  Preorder(ST[i][1]);
}
void Inorder(int i){
   if(i==-1)return;
  Inorder(ST[i][0]);
  printf(" %d",i);
  Inorder(ST[i][1]);
}
void Postorder(int i){
  if(i==-1)return;
  Postorder(ST[i][0]);
  Postorder(ST[i][1]);
  printf(" %d",i);
}

