#include<stdio.h>
#define NIL -1
int parent[100001],left[100001],right[100001];
int depth(int);
void printchildren(int);
int main(){
    int i,j;
    scanf("%d",&j);
    for(i=0;i<=j-1;i++)
    parent[i]=left[i]=right[i]=NIL;
    for(i=0;i<=j-1;i++){
        int a,b;
        scanf("%d %d",&a,&b);
        int c[b+1],j;
        for(j=1;j<=b;j++)scanf("%d",&c[j]);
        if(b>=1){
            parent[c[1]]=a;
            left[a]=c[1];
        }
        for(j=2;j<=b;j++){
            parent[c[j]]=a;
            right[c[j-1]]=c[j];
        }
    }
    
    
    for(i=0;i<=j-1;i++){
        printf("node %d: parent = %d, depth = %d, ",i,parent[i],depth(i));
        if(parent[i]==NIL) 
        printf("root, [");
        else if(left[i]==NIL)
         printf("leaf, [");
        else
         printf("internal node, [");
        printchildren(i);
        printf("]\n");
        
    }
    
    return 0;
}
int depth(int A){
    int B=0;
    while(parent[A]!=NIL){
        B++;
        A=parent[A];
    }
    return B;
}
void printchildren(int A){
    int c=left[A];
    while(c!=NIL && right[c]!=NIL){
        printf("%d, ",c);
        c=right[c];
    }
    if(left[A]!=NIL)printf("%d",c);
}

