Дано дерево из $N$ вершин, пронумерованных от $1$ до $N$. $i$-е ребро дерева соединяет вершины $u_i$ и $v_i$. Изначально для каждого $i$ ($1 \le i \le N$) в вершине $i$ лежит один камень, если $A_i = 1$, и нет камня, если $A_i = 0$.
Вы можете многократно выполнять следующую операцию:
- Выбрать ещё не выбранное ребро, ровно на одном из концов которого лежит камень, и переместить этот камень на другой конец ребра.
Определите, можно ли выполнить эту операцию ровно $N - 1$ раз. Если это возможно, выведите порядок, в котором выбираются рёбра.
Входные данные
Входные данные состоят из одного или нескольких наборов входных данных. Первая строка содержит целое число $T$ ($1 \le T \le 10^5$) — количество наборов входных данных. Далее следуют описания $T$ наборов входных данных в следующем формате.
$$ \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} $$
Первая строка содержит целое число $N$ ($2 \le N \le 2 \times 10^5$) — количество вершин.
Для каждого $i$ ($1 \le i \le N - 1$) $i$-я из следующих $N - 1$ строк содержит два целых числа $u_i$ и $v_i$ ($1 \le u_i, v_i \le N$), разделённых пробелом, означающих, что $i$-е ребро соединяет вершины $u_i$ и $v_i$. Гарантируется, что заданный граф является деревом.
Последняя строка содержит $N$ целых чисел $A_1, A_2, \ldots, A_N$ ($A_i \in \{0, 1\}$), разделённых пробелами. Число $A_i$ показывает, лежит ли изначально камень в вершине $i$.
Сумма $N$ по всем наборам входных данных не превосходит $2 \times 10^5$.
Выходные данные
Для каждого набора входных данных выведите ответ следующим образом.
Если выполнить операцию ровно $N - 1$ раз невозможно, выведите No в отдельной строке.
Если это возможно, в первой строке выведите Yes, а во второй строке выведите последовательность рёбер в следующем формате:
$$ e_1 \ e_2 \ \ldots \ e_{N-1} $$
Здесь $e_k$ ($1 \le e_k \le N - 1$) — номер ребра, выбранного на $k$-й операции. Если подходящих последовательностей несколько, выведите любую из них.
Примеры
Входные данные 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
Выходные данные 1
Yes 3 2 4 1 No Yes 6 7 4 2 1 3 5 8