Language: C++

#include<iostream><font></font>
#include<vector><font></font>
using namespace std;<font></font>
<font></font>
struct tree{<font></font>
    int parent;<font></font>
    int left;<font></font>
    int right;<font></font>
    int degree;<font></font>
    int depth;<font></font>
    int height;<font></font>
    tree(){<font></font>
        parent = -1;<font></font>
        left   = -1;<font></font>
        right  = -1;<font></font>
        degree = -1;<font></font>
        depth  = -1;<font></font>
        height = -1;<font></font>
    }<font></font>
};<font></font>
<font></font>
int find_root(const vector<tree>& T){<font></font>
    for (int i = 0; i < T.size(); i++) {<font></font>
        if (T[i].parent == -1) {<font></font>
            return i;<font></font>
        }<font></font>
    }<font></font>
}<font></font>
<font></font>
void calc_depth(int id, int depth, vector<tree>& T){<font></font>
    if (id == -1) return;<font></font>
    T[id].depth = depth;<font></font>
    calc_depth(T[id].left , depth + 1, T);<font></font>
    calc_depth(T[id].right, depth + 1, T);<font></font>
}<font></font>
<font></font>
int calc_height(int id, vector<tree>& T){<font></font>
    if (id == -1) return -1;<font></font>
    int left_height = calc_height(T[id].left, T) + 1;<font></font>
    int right_height = calc_height(T[id].right, T) + 1;<font></font>
    return T[id].height = max(left_height, right_height);<font></font>
}<font></font>
<font></font>
int main(){<font></font>
    int n;<font></font>
    cin >> n;<font></font>
    vector<tree> T(n);<font></font>
<font></font>
    for (int i = 0; i < n; i++) {<font></font>
        int id, left, right;<font></font>
        cin >> id >> left >> right;<font></font>
        T[id].left      = left;<font></font>
        T[id].right     = right;<font></font>
        T[left].parent  = id;<font></font>
        T[right].parent = id;<font></font>
    }<font></font>
    int root = find_root(T);<font></font>
    calc_depth(root, 0, T);<font></font>
    calc_height(root, T);<font></font>
<font></font>
    for (int i = 0; i < n; i++) {<font></font>
        cout << "node " << i << ": parent = " << T[i].parent;<font></font>
        cout << ", sibling = ";<font></font>
        if (T[i].parent == -1) {<font></font>
            cout << "-1";<font></font>
        } else {<font></font>
            if (T[T[i].parent].left == i) {<font></font>
                cout << T[T[i].parent].right;<font></font>
            } else {<font></font>
                cout << T[T[i].parent].left;<font></font>
            }<font></font>
        }<font></font>
        cout << ", degree = ";<font></font>
        cout << (T[i].left != -1) + (T[i].right != -1);<font></font>
        cout << ", depth = " << T[i].depth;<font></font>
        cout << ", height = " << T[i].height;<font></font>
        cout << ", ";<font></font>
        if (T[i].parent == -1) {<font></font>
            cout << "root";<font></font>
        } else if (T[i].left != -1 || T[i].right != -1){<font></font>
            cout << "internal node";<font></font>
        } else {<font></font>
            cout << "leaf";<font></font>
        }<font></font>
        cout << endl;<font></font>
    }<font></font>
    return 0;<font></font>
}<font></font>
<font></font>
<font></font>

Compiler output:
a.cc:1:19: warning: extra tokens at end of #include directive
    1 | #include<iostream><font></font>
      |                   ^~~~~~
a.cc:2:17: warning: extra tokens at end of #include directive
    2 | #include<vector><font></font>
      |                 ^~~~~~
a.cc:3:21: error: expected unqualified-id before '<' token
    3 | using namespace std;<font></font>
      |                     ^
a.cc:20:3: error: expected unqualified-id before '<' token
   20 | };<font></font>
      |   ^
a.cc:28:2: error: expected unqualified-id before '<' token
   28 | }<font></font>
      |  ^
a.cc:35:2: error: expected unqualified-id before '<' token
   35 | }<font></font>
      |  ^
a.cc:42:2: error: expected unqualified-id before '<' token
   42 | }<font></font>
      |  ^
a.cc:88:2: error: expected unqualified-id before '<' token
   88 | }<font></font>
      |  ^