atcoder#AGC018F. [AGC018F] Two Trees
[AGC018F] Two Trees
Score : points
Problem Statement
There are two rooted trees, each with vertices. The vertices of each tree are numbered through . In the first tree, the parent of Vertex is Vertex . Here, if Vertex is the root of the first tree. In the second tree, the parent of Vertex is Vertex . Here, if Vertex is the root of the second tree.
Snuke would like to construct an integer sequence of length , , , , , that satisfies the following condition:
- For each vertex on each tree, let the indices of its descendants including itself be , , , . Then, holds.
Determine whether it is possible to construct such a sequence. If the answer is possible, find one such sequence.
Constraints
- , if Vertex is not the root in the first tree.
- , if Vertex is the root in the first tree.
- , if Vertex is not the root in the second tree.
- , if Vertex is the root in the second tree.
- Input corresponds to valid rooted trees.
Input
Input is given from Standard Input in the following format:
Output
If it is not possible to construct an integer sequence that satisfies the condition, print IMPOSSIBLE
.
If it is possible, print POSSIBLE
in the first line.
Then, in the second line, print , , , , an integer sequence that satisfies the condition.
5
3 3 4 -1 4
4 4 1 -1 1
POSSIBLE
1 -1 -1 3 -1
For example, the indices of the descendants of Vertex of the first tree including itself, is . It can be seen that the sample output holds . Similarly, the condition is also satisfied for other vertices.
6
-1 5 1 5 1 3
6 5 5 3 -1 3
IMPOSSIBLE
In this case, constructing a sequence that satisfies the condition is IMPOSSIBLE
.
8
2 7 1 2 2 1 -1 4
4 -1 4 7 4 4 2 4
POSSIBLE
1 2 -1 0 -1 1 0 -1