Under construction

Still being built. Things may change

Jungle Job

Interview

Time limit1sMemory limit1024 MB

Summary
Count the connected subtrees of a rooted tree with n branches for each size k from 1 to n, modulo 1e9+7.
Level

Medium5 of 10

Topics
Tree, Dynamic programming, DFS
Solved
No attempts yet

Problem

Your local jungle is being taken over by monkeys! Trees are quickly being colonized by them! As a Brave Ape Pictures Collector, this is your chance to take sooo many pictures of primates that will for sure amaze your colleagues.

In particular, each day, one new monkey discovers your favourite tree containing nn branches. From your long experience observing primates, you know two things. First, each branch of the tree only has room for a single monkey. Second, monkeys are very social animals and always stick together in groups, that is, the branches they occupy form a single connected component.

This particular invasive species of monkeys is new to you, and you have not yet learned to distinguish them from each other. Still, you wonder: how many different pictures of the monkey colony could you take each day, until the tree is full of monkeys?

As an example, consider the first sample case, visualized in Figure J.1. On the third day, there are four different pictures you can take of the monkey colony.

Figure J.1: Visualization of the first sample case on the third day. Branches are connected if they overlap (note the small gap between branches 11 and 22, and between branches 33 and 44).

Monkey image from freevector.com

Given the exact structure of your favourite tree, determine for each day from 11 to nn the number of different sets of branches the monkeys could occupy on that day, modulo 109+710^9+7.

Input

The input consists of:

  • One line with an integer nn (1≤n≤10001 \leq n \leq 1000), the number of branches in the tree.
  • n−1n-1 lines, the iith of which (1≤i≤n−11 \leq i \leq n-1) contains an integer pip_i (0≤pi<i0 \leq p_i < i), indicating that branch ii is connected to the upper end of branch pip_i.

The branches are numbered from 00 to n−1n-1, inclusive. Branch 00 is connected to the roots of the tree and can also host a single monkey.

Output

Output nn integers. The kkth integer should be the number of connected subtrees that consist of exactly kk branches, modulo 109+710^9+7.

Examples2

  1. Example 1

    Input
    5
    0
    0
    1
    1
    
    Expected output
    5
    4
    4
    3
    1
    
  2. Example 2

    Input
    3
    0
    1
    
    Expected output
    3
    2
    1