编程题
### 问题描述
小齐和她的朋友们在新年庆祝活动中制作了一颗巨大的树,上面挂满了许多发光的装饰物。小齐可以通过遥控器控制装饰物的开关。在太阳升起之前,她希望按照某种顺序切换一些装饰物的状态(可以多次切换一个装饰物),使得树的起始状态和结束状态均没有装饰物是点亮的。小齐认为,如果点亮的装饰物集合恰好是以某个顶点为根的子树,那么这颗树看起来很酷。她希望切换装饰物的顺序满足以下两个条件:
定义以顶点 $r$ 为根的子树包含所有顶点 $v$,其中 $r$ 位于从顶点 $1$ 到 $v$ 的路径上。对于树的每一个 $N$ 个子树,存在一个时刻,此时点亮的顶点集合正好是该子树中的顶点集合。
整个操作序列执行完后,每个顶点都处于非点亮状态。
在打开和关闭装饰物时需要消耗能量,小齐不想浪费能量,因此她想找到可以执行的切换序列的最小长度。
### 输入格式
第一行包含整数 $N$。
第二行包含 $N-1$ 个整数 $p_2, p_3, \ldots, p_N$,其中 $p_i$ 表示顶点 $i$ 的父节点。
### 输出格式
输出最小可能长度。
### 样例输入
```
3
1 1
```
### 样例输出
```
6
```
### 评测数据规模
$1 \leq N \leq 5000$。