Delegation (Gold)
Farmer John's farm consists of n pastures connected by n − 1 roads, so that any pasture is reachable from any other pasture. That is, the farm is a tree. But after 28 years of dealing with the tricky algorithmic problems that inevitably arise from trees, FJ has decided that a farm in the shape of a tree is just too complex. He believes that algorithmic problems are simpler on paths.
Thus, his plan is to partition the set of roads into several paths, and delegate responsibility for each path to a worthy farm hand. To avoid contention, he wants each path to be the same length. He wonders for which lengths there exists such a partition.
More precisely, for each k (1 ≤ k ≤ n − 1) help Farmer John determine whether the roads can be partitioned into paths of length exactly k.
Input
The first line contains a single integer n (2 ≤ n ≤ 10^5
). The next n − 1 lines each contain two integers a and b describing an edge between vertices a and b. Each of a and b is in the range 1...n.
Output
Output a bit string of length n − 1. For each k (1 ≤ k ≤ n − 1), the k-th bit of this string from the left should equal one if it is possible to partition the edges of the tree into paths of length exactly k and 0 otherwise.
Example
It is possible to partition this tree into paths of length k for k = 1, 2, 3. For k = 3, a possible set of paths is as follows:
13−12−11−8,10−9−8−6,7−6−2−3,5−4−2−1