      #include<stdio.h>

      int i,l,r,p;
      int G[30][2],pc[30]={0};

      char S[4][100]={"Preorder","Inorder","Postorder"};

      void pre(int n)
      {
          if(n==-1)return;

          printf(" %d",n);

          pre(G[n][0]);
          pre(G[n][1]);
          return;
      }

      void pos(int n)
      {
          if(n==-1)return;
          pos(G[n][0]);
          pos(G[n][1]);
          printf(" %d",n);
          return;
      }

      void in(int n)
      {
          if(n==-1)return;
          in(G[n][0]);
          printf(" %d",n);
          in(G[n][1]);
          return;
      }





      int main()
      {

          int N;

          void (*funcs[])(int)={pre,in,pos};

          scanf("%d",&N);

          for(i=0;i<N;i++)
          {
              scanf("%d%d%d",&p,&l,&r);
              pc[l]=pc[r]=1;
              G[p][0]=l;
              G[p][1]=r;
          }

          for(i=0;i<N;i++)if(!pc[i])p=i;

          for(i=0;i<3;i++)
          {
              puts(S[i]);
              (*(funcs[i]))(p);
              puts("");
          }
          
          return 0;
      }

