/**************************************************************************************************
O[OOO@@OO@@O@@O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O^...=@@@@@@@@@@@@@@O[.........=@@@@@@@@@@@@
.....[OOOOOOOOOOOOO@@@@@@@@@@@OOOOOOOOO@@OOOOOOOOOOOOO[..../OOOO@@@@@@/\O/............OOOOOOOOOOOOO
^........,\OOOOOOOO@@@@@@@@@@OOOOOOOOOOO[[....................,[OOOO`.........`./O...=OOOOOOOOOOOOO
O`....].........,\O@@@@@@@@@@OOOOOO/........................................,O@@@^.../OOOOOOOOOOOOO
OO....O@@\`.........,\@@@@@@@OOO[..........................................=@@@@@`..,OOOOOOOOOOOOOO
@@\...=@@@@@\...........,\@@@`............................................*`=@@@/...OOOOOOOOOOOOOOO
@@@O...=@@@^,`..............................................................=/@@...=OOOOOOOOOOOOOOO
@@@@\...O@OO`.................................................................\^...OOOOOOOOOOOOOOOO
@@@@@\...\@`......................................................................OOOOOOOOOOOOOOOOO
@@@@@@\.../......................................................................=OOOOOOOOOOOOOOOOO
OOOOOOO.......................... ................................................\@@OOOOOOOOOOOOOO
@@@@@@@@@`................................=^...................^...................=@@@@@@@@@@@@@@@
@@@@@@@@@@...*.............................*...................*....................O@@@@@@@@@@@@@@
OOOOOOOOO.....**............. .......................................................@@@@@@@@@@@@@@
OOOOOOOOOOO`..****..........................*................................. ......=@@@@@@@@@@@@@
OOOOOOOOOOOOOO.*****,............................. ...................................O@@@@@@@@@@@@
@@@@@@@@@@@@O...***./..*..............................................................O@@@@@@@@@@@@
@@@@@@@@@@@@..........,..........,`........................................*......*..*=@@@@@@@@@@@@
@@@@@@@@@@@^.........*.,`......,@@@@@@@@@@@@@@@@@@@\]]]`...,]]@@@@@@@@@[\@@/@@@@@@O....O@@@@@@@@@@@
@@@@@@@@@@O.,`.......=.........,@@@@O[..,/OOOOO\....@@@@@@@@@@`.OOOOOOOO.,....=@@@O....\@@@@@@@@@@@
@@@@@@@@@@`=@^...................\@@[..=/[,\`..\.....@@`...@@@..,]....,/.......@@^[^...=@@@@@@@@@@@
@@@@@@@@@@=@@^....................@@....[\`..][.....@@`.....\@\....,[.........,@@....=.=@@@@@@@@@@@
@@@@@@@@@\@@O..........^..........,@^.............]@/........,@@`.............//....*...@@@@@@@@@@@
@@@@@@@@@@@@^.........*,.`..........@@\]]]..,]]/@/[............,\@@\]]`..,]]/@/.......*.\O@@@@@@@@@
@@@@@@@@@@@@.....**...=*,*..................................................*`........*.=@@@@@@@@@@
@@@@@@@@@@@O......*...,**=^...........................................................*..O@@@@@@@@@
OOOOOOOOOOO^......*...*`**,.. .........................................,.................OO@@@@@@@@
OOOOOOOOOOO^..........*^***,..  .....................................**..................OO@@@@@@@@
@@@@@@@OO@@..*.........^****\.........**\].......................]*.....................*OO@@@@@@@@
@@@@@@OO@@^......*.....=\***=`.........*=^**,[]`.............``.**...**............/`...=@@@@@@@@@@
@@@@@OO@@O^..,..**...*..=****o..........*=*********[,]...]o*.....*******.............../OO@@@@@@@@@
@@@@OO@@OO\..=/..**...*..o`**,^*........*=***************,/**...*******..........*..../@@@@@@@@@@@@
@@@OO@@@OO@^..O^.....@@@O/O],[\]]......../@@@\`*******]@@@@`*..***,//`]/@@@^....*...,/@@@@@@@@@@@@@
@@OO@@@OO@O\...O.....,@@@@@@@@@@@@`...@@/@@@@@@@`.**,@@@@@@@@@@@O]/@@@@@@@@.........=@@@@@@@@@@@@@@
**************************************************************************************************/
#include<set>
#include<map>
#include<stack>
#include<queue>
#include<cmath>
#include<stdio.h>
#include<cctype>
#include<string>
#include<vector>
#include<climits>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#define endl '\n'
#define max(a, b) (a > b ? a : b)
#define min(a, b) (a < b ? a : b)
#define mst(a) memset(a, 0, sizeof(a))
#define _test printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n")
using namespace std;
typedef long long ll;
typedef pair<int, int> P;
const double pi = acos(-1.0);
const double eps = 1e-7;
const int INF = 0x3f3f3f3f;
const int _NAN = -0x3f3f3f3f;
const int NIL = -1;
const int maxn = 1e4+10;
struct node {
    int p, l, r;
} T[maxn];
void preParse(int u) {
    if (u == NIL)
        return;
    printf(" %d", u);
    preParse(T[u].l);
    preParse(T[u].r);
}
void inParse(int u) {
    if (u == NIL)
        return;
    inParse(T[u].l);
    printf(" %d", u);
    inParse(T[u].r);
}
void postParse(int u) {
    if (u == NIL)
        return;
    postParse(T[u].l);
    postParse(T[u].r);
    printf(" %d", u);
}
int main(void) {
    int n;
    scanf("%d", &n);
    for (int i = 0; i<n; ++i)
        T[i].p = NIL;
    for (int i = 0, v, l, r; i<n; ++i) {
        scanf("%d%d%d", &v, &l, &r);
        T[v].l = l;
        T[v].r = r;
        if (l != NIL)
            T[l].p = v;
        if (r != NIL)
            T[r].p = v;
    }
    int _root;
    for (int i = 0; i<n; ++i)
        if (T[i].p == NIL)
            _root = i;
    printf("Preorder\n");
    preParse(_root);
    putchar(endl);
    printf("Inorder\n");
    inParse(_root);
    putchar(endl);
    printf("Postorder\n");
    postParse(_root);
    putchar(endl);
    return 0;
}


Measured memory_bytes: 3228