\problemname{Rainbow Roads}

\illustration{0.25}{rainbowroads/problem_statement/GPKAR_map.png}

The Transit Authority of Greater Podunk is planning its holiday decorations.
They want to create an illuminated display of their light rail map in which
each stretch of track between stations can be illuminated in one of
several colors.

At periodic intervals, the controlling software will choose two stations at
random and illuminate all of the segments connecting those two stations. By
design, for any two stations on the Greater Podunk Railway, there is
a unique path connecting the two.

For maximum color and cheer, the display designers want to avoid having two
adjacent segments of track lighting up in the same color. They fear, however,
that they may have lost track of this guideline in the process of building
the display.  One of them has gone so far as to propose a means of measuring
just how far from that ideal they may have fallen.       

\section*{Description}

You are given a tree with $n$ nodes (stations), conveniently numbered
from $1$ to $n$.  Each edge in this tree has one of $n$
colors.  A path in this tree is called a \emph{rainbow} if all
adjacent edges
in the path have different colors.  Also, a node is
called \emph{good} if every simple path with that node as one of its
endpoints is a \emph{rainbow} path. (A simple path is a path that does
not repeat any vertex or edge.)



Find all the \emph{good} nodes in the given tree.



\section*{Input}

The first line of input contains a single integer $n$ ($1 \le n \le 50\,000$).

Each of the next $n-1$ lines contains three space-separated integers
$a_i$, $b_i$, and $c_i$ ($1 \le a_i, b_i, c_i \le n$; $a_i \ne b_i$),
describing an edge of color $c_i$ that connects nodes $a_i$ and $b_i$.

It is guaranteed that the given edges form a tree.

\section*{Output}

On the first line of the output, print $k$, the number of good nodes.

In the next $k$ lines, print the indices of all good nodes in numerical
order, one per line.

~

\textit{Time limit}: solutions should complete in no more than $3$ CPU seconds


\section*{Examples}

(For the first sample, node $3$ is good because all paths that have node $3$
as an endpoint are rainbow.  In particular, even though the path
$3 \rightarrow 4 \rightarrow 5 \rightarrow 6$ has two edges of the
same color (i.e. $3 \rightarrow 4$, $5 \rightarrow 6$), it is still
rainbow because these edges are not adjacent.)
