Se te da un árbol con $N$ vértices numerados del $1$ al $N$. La $i$-ésima arista del árbol conecta los vértices $u_i$ y $v_i$. Inicialmente, para cada $i$ ($1 \le i \le N$), el vértice $i$ contiene una piedra si $A_i = 1$ y ninguna piedra si $A_i = 0$.
Puedes realizar repetidamente la siguiente operación:
- Seleccionar una arista aún no elegida que tenga una piedra en exactamente uno de sus extremos, y mover esa piedra al otro extremo.
Determina si puedes realizar la operación exactamente $N - 1$ veces. Si es posible, imprime el orden en el que se seleccionan las aristas.
Entrada
La entrada contiene uno o más casos de prueba. La primera línea de la entrada contiene un entero $T$ ($1 \le T \le 10^5$), que es el número de casos de prueba. A continuación siguen las descripciones de los $T$ casos de prueba, cada una con el siguiente formato.
$$ \begin{aligned} &N \\ &u_1 \ v_1 \\ &u_2 \ v_2 \\ &\vdots \\ &u_{N-1} \ v_{N-1} \\ &A_1 \ A_2 \ \ldots \ A_N \end{aligned} $$
La primera línea contiene un entero $N$ ($2 \le N \le 2 \times 10^5$) que representa el número de vértices.
Para cada $i$ ($1 \le i \le N - 1$), la $i$-ésima de las siguientes $N - 1$ líneas contiene dos enteros $u_i$ y $v_i$ ($1 \le u_i, v_i \le N$) separados por un espacio, que indican que la $i$-ésima arista conecta los vértices $u_i$ y $v_i$. Se garantiza que el grafo dado es un árbol.
La última línea contiene $N$ enteros $A_1, A_2, \ldots, A_N$ ($A_i \in \{0, 1\}$) separados por espacios. $A_i$ indica si inicialmente hay una piedra colocada en el vértice $i$.
La suma de $N$ en todos los casos de prueba no supera $2 \times 10^5$.
Salida
Para cada caso de prueba, imprime la respuesta de la siguiente manera.
Si es imposible realizar la operación exactamente $N - 1$ veces, imprime No en una sola línea.
Si es posible, imprime Yes en la primera línea, seguido de la secuencia de aristas en la segunda línea con el siguiente formato:
$$ e_1 \ e_2 \ \ldots \ e_{N-1} $$
Aquí, $e_k$ ($1 \le e_k \le N - 1$) representa el índice de la arista seleccionada en la $k$-ésima operación. Si existen múltiples secuencias válidas, puedes imprimir cualquiera de ellas.
Ejemplos
Entrada 1
3 5 1 2 2 3 2 4 2 5 1 1 1 0 0 2 1 2 0 0 9 1 2 2 3 2 4 4 5 4 6 6 7 6 8 6 9 0 0 1 0 1 1 0 1 1
Salida 1
Yes 3 2 4 1 No Yes 6 7 4 2 1 3 5 8