#M21. Delete a Tree

Delete a Tree

Background

在 Arahc 让你建树之后,他希望你把这个树删除。

Description

给定一个大小为 nn 的树(节点从 11 开始编号到 nn),其中 11 号点为根节点,对于其他点,每个节点 ii 都有一个父亲节点 fai(1fai<i)fa_i\,(1\leq fa_i < i).

定义一个节点 xxnn 级祖先为:n=0n=0 时为 xx 本身;n>0n>0 时为 xxn1n-1 级祖先的父亲节点。

定义节点 xx 的子树为:满足如下条件的所有节点 yy 在原树上形成的结构:kN\exists k\in\mathbb{N} 使得 xxyykk 级祖先。

你想要直接删除 11 的子树来一步到位,但是你突然脑子一热,想要求出:如果每步等概率随机地选择树上一个未被删除的节点,并删除这个节点的子树,期望多少步能删除整个树?

Format

Input

第一行一个数 n(2n105)n\,(2\leq n\leq 10^5) 表示树的大小。

第二行 n1n-1 个数,第 ii 个数表示 fai+1(1fai+1i)fa_{i+1}\,(1\leq fa_{i+1}\leq i).

Output

仅一个实数表示删除整个树需要的步数的期望。没有小数位数限制,你的答案 EE 与标准答案 E0E_0 的相对误差 EE0E0\frac{|E-E_0|}{E_0} 不超过 10610^{-6} 即视为正确。

Samples

2
1
1.5

12\frac{1}{2} 的概率一步删除 1,21,2 即整个树;12\frac{1}{2} 的概率删除 22,此时还需要一步删除 11.

3
1 1
2

13\frac{1}{3} 的概率一步删除 1,2,31,2,3 即整个树;23\frac{2}{3} 的概率删除 2233,此时情况变为和样例 11 相同。

3
1 2
1.8333333333333

13\frac{1}{3} 的概率一步删除 1,2,31,2,3 即整个树;13\frac{1}{3} 概率删除 2,32,3,此时还需额外一步删除 11;还有 13\frac{1}{3} 概率删除 33,此时情况变为和样例 1 相同。

Limitation

1s, 256MiB.

本题采用捆绑测试依赖测试

子任务编号 依赖子任务 nn\leq 特殊性质 分值
1 10001000 A 10
2 B
3 1,2 25
4 1 10510^5 A 15
5 2 B
6 3,4,5 25

特殊性质 A:i,fai=1\forall i,fa_i=1. 样例 1,2 符合特殊性质 A.

特殊性质 B:i,fai=i1\forall i,fa_i=i-1. 样例 1,3 符合特殊性质 B.