AT_arc086_c [ARC086E] Smuggling Marbles
Description
[problemUrl]: https://atcoder.jp/contests/arc086/tasks/arc086_c
すぬけ君は $ N+1 $ 頂点の根付き木を持っています。 この木の頂点には $ 0 $ から $ N $ までの番号がついており、頂点 $ 0 $ はこの木の根です。 頂点 $ i(1\ \leq\ i\ \leq\ N) $ の親は頂点 $ p_i $ です。
すぬけ君はこの木の他に、空の箱とビー玉を使って遊んでいます。 この遊びはいくつかの頂点にビー玉をそれぞれ $ 1 $ つ置いたのち、以下の手順で進行します。
1. 頂点 $ 0 $ にビー玉が置かれているならば、そのビー玉を箱に移す。
2. 全てのビー玉を現在の頂点から親の頂点に(同時に)移す。
3. $ 2 $ つ以上のビー玉が置かれている頂点それぞれについて、その頂点に置かれているビー玉を全て取り除く。
4. ビー玉が置かれている頂点が存在するならば手順 1 へ、そうでなければ遊びを終了する。
ビー玉の置き方は $ 2^{N+1} $ 通りあります。 これらそれぞれの場合について **遊びが終了したときに箱に入っているビー玉** の数を求め、その和を $ {\rm\ mod}\ 1,000,000,007 $ で求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ p_1 $ $ p_2 $ $ ... $ $ p_{N} $
Output Format
答えを出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ N\