#P5608. 树上的石子移动

树上的石子移动

题面翻译

小A有一棵N + 1个点的树,其中0为根,每个点上有0或1个石子,小A会不停的进行如下操作直至整棵树没有石子:

把0上面的石子从树上拿走放入口袋;

把每个点上的石子移到其父亲上;

对于每个点,若其石子数≥ 2,则移除该点所有石子(不 放入口袋)。

求对于所有2N+12^{N+1}种放置石子的方案,最终小A口袋中石子数的和为多少,对1000000007取模。

1 ≤ N < 200000,有一部分数据满足1 ≤ N < 2000。

输入格式

第一行给出N

第二行给出N个数字

N N p1 p_1 p2 p_2 ... ... pN p_{N}

输出格式

如题

样例 #1

样例输入 #1

2
0 0

样例输出 #1

8

样例 #2

样例输入 #2

5
0 1 1 0 4

样例输出 #2

96

样例 #3

样例输入 #3

31
0 1 0 2 4 0 4 1 6 4 3 9 7 3 7 2 15 6 12 10 12 16 5 3 20 1 25 20 23 24 23

样例输出 #3

730395550

提示

制約

  • 1  N < 2 × 105 1\ \leq\ N\ <\ 2\ \times\ 10^{5}
  • 0  pi < i 0\ \leq\ p_i\ <\ i