무지개 길

간선마다 색이 칠해진 트리에서, v에서 시작하는 모든 단순 경로가 같은 색의 연속 간선을 갖지 않도록 하는 모든 정점 v를 찾는다.

어려움8트리DFS그래프구현아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

노드 nn개로 이루어진 트리가 있다. 노드에는 1부터 nn까지 번호가 붙어 있고, 각 간선은 nn가지 색 중 하나를 가진다. 트리의 어떤 경로에서 이웃한 두 간선의 색이 항상 서로 다르면 그 경로를 무지개 경로라고 한다. 노드 vv를 한쪽 끝점으로 하는 단순 경로가 모두 무지개 경로이면 vv를 좋은 노드라고 한다.

주어진 트리에서 좋은 노드를 모두 찾아라.

단순 경로는 같은 정점도 같은 간선도 두 번 지나지 않는 경로다.

입력

첫째 줄에 정수 nn이 주어진다. (1n500001 \le n \le 50\,000)

다음 n1n - 1개 줄에는 세 정수 aia_i, bib_i, cic_i가 공백으로 구분되어 주어진다. (1ai,bi,cin1 \le a_i, b_i, c_i \le n, aibia_i \ne b_i) 이는 노드 aia_i와 노드 bib_i를 잇는 색 cic_i의 간선을 뜻한다.

주어지는 간선은 항상 트리를 이룬다.

출력

첫째 줄에 좋은 노드의 개수 kk를 출력한다.

다음 kk개 줄에 좋은 노드의 번호를 오름차순으로 한 줄에 하나씩 출력한다.

힌트

무지개 조건은 경로에서 연속한 두 간선에만 적용된다. 경로 v1,v2,v3,v4v_1, v_2, v_3, v_4에서 간선 (v1,v2)(v_1, v_2)와 간선 (v3,v4)(v_3, v_4)는 이웃하지 않으므로 색이 같아도 된다. 간선이 한 개 이하인 경로에는 이웃한 간선 쌍이 없으니 언제나 무지개 경로다.