using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ALDS1_7_B
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            Node[] nodeAry = new Node[n];

            for (int i = 0; i < n; i++)
            {
                nodeAry[i] = new Node();
            }

            for (int i = 0; i < n; i++)
            {
                int[] tmpLine = Console.ReadLine()
                                       .Split(' ')
                                       .Select(s => int.Parse(s))
                                       .ToArray();
                nodeAry[tmpLine[0]].val = tmpLine[0];

                if (tmpLine[1] >= 0)
                {
                    nodeAry[tmpLine[0]].leftSon = nodeAry[tmpLine[1]];
                    nodeAry[tmpLine[1]].parent = nodeAry[tmpLine[0]];
                }

                if (tmpLine[2] >= 0)
                {
                    nodeAry[tmpLine[0]].rightSon = nodeAry[tmpLine[2]];
                    nodeAry[tmpLine[2]].parent = nodeAry[tmpLine[0]];
                }
            }

            for (int i = 0; i < n; i++)
            {
                if (nodeAry[i].parent == null)
                {
                    nodeAry[i].SetDepth();
                    nodeAry[i].SetGetHeight();
                    break;
                }
            }

            foreach (Node node in nodeAry)
            {
                Console.WriteLine(string.Format("node {0}: parent = {1}, sibling = {2}, degree = {3}, depth = {4}, height = {5}, {6}", node.val, node.parent == null? -1 : node.parent.val, node.GetBrth() == null? -1 : node.GetBrth().val, node.degree, node.depth, node.height, node.type));
            }
            //Console.ReadLine();
        }
    }
    
    class Node
    {
        public int val;
        public Node parent = null;
        public Node leftSon = null;
        public Node rightSon = null;
        public int depth = -1;
        public int height = -1;

        public int degree
        {
            get {
                return (this.leftSon == null ? 0 : 1) + (this.rightSon == null ? 0 : 1);
            }
        }

        public void SetDepth()
        {
            this.depth = this.parent == null ? 0 : this.parent.depth + 1;

            if (this.leftSon != null)
            {
                this.leftSon.SetDepth();
            }

            if (this.rightSon != null)
            {
                this.rightSon.SetDepth();
            }
        }

        public int SetGetHeight()
        {
            if (this.leftSon == null && this.rightSon == null)
            {
                this.height = 0;
            }
            else if (this.leftSon == null)
            {
                this.height = this.rightSon.SetGetHeight() + 1;
            }
            else if (this.rightSon == null)
            {
                this.height = this.leftSon.SetGetHeight() + 1;
            }
            else
            {
                this.height = Math.Max(this.leftSon.SetGetHeight(), this.rightSon.SetGetHeight()) + 1;
            }
            return this.height;
        }

        public Node GetBrth()
        {
            if (this.parent == null)
            {
                return null;
            }
            else if(this.parent.leftSon != null && this.parent.rightSon != null && this.parent.leftSon == this)
            {
                return this.parent.rightSon;
            }
            else if (this.parent.leftSon != null && this.parent.rightSon != null && this.parent.rightSon == this)
            {
                return this.parent.leftSon;
            }
            else
            {
                return null;
            }
        }

        public string type
        {
            get
            {
                if (this.parent == null)
                {
                    return "root";
                }
                else if (this.leftSon == null && this.rightSon == null)
                {
                    return "leaf";
                }
                else
                {
                    return "internal node";
                }
            }
        }
    }
}


Measured memory_bytes: 18428