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\