Nlogônia is implementing a new data transmission system between its $$$N$$$ research stations, numbered from $$$1$$$ to $$$N$$$. The network infrastructure is economical: there are exactly $$$N-1$$$ bidirectional cables connecting the stations, so that there is always a single simple path between any pair of stations.
To ensure that messages reach only those who are actually part of the route, the engineers created a mechanism based on access keys:
The security committee established the following rules for the distribution of keys:
Your task is to help the engineering team determine which keys each station should receive in order to satisfy all the requirements.
The first line of input contains a single integer $$$N$$$ ($$$2 \leq N \leq 1000$$$), representing the number of research stations.
The following $$$N-1$$$ lines describe a connection in the network. Each line contains two integers $$$u$$$ and $$$v$$$ ($$$1 \leq u, v \leq N$$$, $$$u \neq v$$$), indicating that there is a cable directly connecting stations $$$u$$$ and $$$v$$$. It is guaranteed that the network forms a tree.
On the first line, print a single integer $$$K$$$ ($$$0 \leq K \leq 2N$$$), indicating the total number of distinct keys created. The keys are identified by integers from $$$1$$$ to $$$K$$$.
In the next $$$N$$$ lines, print the key list of each station from $$$1$$$ to $$$N$$$. The $$$i$$$-th of these lines must begin with an integer $$$Q_i$$$ ($$$0 \leq Q_i \leq K$$$) indicating the number of keys held by station $$$i$$$, followed by $$$Q_i$$$ distinct integers representing the keys given to station $$$i$$$.
It is guaranteed that at least one valid key assignment exists. If more than one exists, any of them will be accepted.
31 22 3
4 2 1 3 2 2 3 2 2 4
Explanation for example 1
The network is a line $$$1 - 2 - 3$$$ with $$$N = 3$$$, allowing up to $$$2(3) = 6$$$ keys (the example uses $$$4$$$ keys):
Testing the communications between each pair of stations: