#include <stdio.h>

typedef struct{
    int p, l, r;
}node;

node nodes[25];

void pre(int id)
{
    if(id == -1)
        return ;
    printf(" %d", id);
    pre(nodes[id].l);
    pre(nodes[id].r);
}

void ino(int id)
{
    if(id == -1)
        return ;
    ino(nodes[id].l);
    printf(" %d", id);
    ino(nodes[id].r);
}

void pos(int id)
{
    if(id == -1)
        return ;
    pos(nodes[id].l);
    pos(nodes[id].r);
    printf(" %d", id);
}

int main(void)
{
    int i, n, s;

    scanf("%d", &n);

    for(i = 0; i < n; i++)
        nodes[i].p = -1;

    for(i = 0; i < n; i++){
        int id, l, r;

        scanf("%d %d %d", &id, &l, &r);

        nodes[id].l = l;
        nodes[id].r = r;
        if(l != -1)
            nodes[l].p = id;
        if(r != -1)
            nodes[r].p = id;
    }
    for(i = 0; i < n; i++){
        if(nodes[i].p == -1)
            s = i;
    }

    printf("Preorder\n");
    pre(s);
    printf("\n");
    printf("Inorder\n");
    ino(s);
    printf("\n");
    printf("Postorder\n");
    pos(s);
    printf("\n");

    return 0;
}