const line = require('fs').readFileSync('/dev/stdin', 'utf-8').split('\n');

const newNode = (id, left, right) => {

    const degree = left === -1 && right === -1 ? 0
                 : left === -1 || right === -1 ? 1
                 : 2;

    return {
        id : id,
        parent : -1,
        left : left,
        right : right,
        degree : degree,
        depth : null,
        height : 0,
        sibling : -1,
        type : ''
    };
};

const setDepth = tree => {
    const root = tree.filter(x => x.parent === -1)[0];
    const helper = (node, n) => {
        node.depth = n;
        if (node.left !== -1) helper(tree[node.left], n+1);
        if (node.right !== -1) helper(tree[node.right], n+1);
    };
    helper(root, 0);
};

const setType = node => {
    node.type = node.parent === -1 ? 'root'
              : node.left === -1 && node.right === -1 ? 'leaf'
              : 'internal node';
};

const setHeight = (tree, id) => {
    const calc = (n, _id) => {
        tree[_id].height = Math.max(tree[_id].height, n);
        if (tree[_id].parent !== -1) calc(n+1, tree[_id].parent);
    };

    if (tree[id].left === -1 || tree[id].right === -1) {
        calc(0, id);
    }

    if (tree[id].left !== -1) setHeight(tree, tree[id].left);
    if (tree[id].right !== -1) setHeight(tree, tree[id].right);
};

const setSibling = (tree) => {
    tree.forEach(x => {
        if (x.left !== -1) tree[x.left].sibling = x.right;
        if (x.right !== -1) tree[x.right].sibling = x.left;
    });
};

const nodeToString = node => {
    return `node ${node.id}: parent = ${node.parent}, sibling = ${node.sibling}, degree = ${node.degree}, depth = ${node.depth}, height = ${node.height}, ${node.type}`;
};

const n = parseInt(line[0]);
const data = line.slice(1, n+1)
                 .map(x => x.split(' ').map(Number));
const tree = data.map(xs => newNode(xs[0], xs[1], xs[2]));
tree.sort((a, b) => a.id - b.id);
tree.forEach(x => {
    if (x.left !== -1) tree[x.left].parent = x.id;
    if (x.right !== -1) tree[x.right].parent = x.id;
});
tree.forEach(x => setType(x));
setDepth(tree);
setHeight(tree, 0);
setSibling(tree, 0);
tree.map(x => nodeToString(x))
    .forEach(x => console.log(x));

