Задано дерево з $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