민아는 Even한 나무로 정원을 꾸미기로 유명한 조경사이다. 나무는 사이클이 없는 단순 연결 그래프를 의미한다. Even한 나무는 다음 조건을 만족하는 나무이다.
하나의 뿌리 정점을 가진다. 간선으로 연결된 두 정점은 부모-자식 관계를 가지며, 둘 중 뿌리 정점과 더 가까운 정점이 부모이다.
모든 정점은 흰색 또는 검은색으로 칠해져 있다.
민아는 HCPC 대회장을 아름답게 꾸미기 위해 $N$개의 정점으로 이루어진 나무 한 그루를 뽑아 왔다. 하지만, 대회장에 도착하니 어떤 정점이 뿌리 정점이었는지 잊어버리고 말았다! 어떤 정점을 뿌리로 삼는지에 따라 Even한 나무가 될 수도, 그렇지 않을 수도 있다. 나무를 뽑아 오느라 탈진한 민아를 대신해 뿌리가 되었을 때 나무가 Even해지는 정점을 모두 찾는 프로그램을 작성해 주자.
첫째 줄에 정점의 개수 $N$이 주어진다. $(2\le N\le 200\, 000)$
둘째 줄에 $N$개의 정수 $C_1$, $C_2$, $\cdots$, $C_N$이 공백으로 구분되어 주어진다. $i$번 정점의 색이 흰색이라면 $C_i=0$, 검은색이면 $C_i=1$이다.
셋째 줄부터 $N-1$줄에 걸쳐 나무의 각 간선이 잇는 두 정점의 번호 $u$, $v$가 공백으로 구분되어 주어진다. $(1\le u,v\le N;$ $u\ne v)$
첫째 줄에 조건을 만족하는 정점의 수를 출력한다.
둘째 줄에 조건을 만족하는 모든 정점의 번호를 공백으로 구분하여 오름차순으로 출력한다.
조건을 만족하는 정점이 없다면 둘째 줄은 출력하지 않는다.