Помогите пожалуйста решить задачу по питону
Гена работает гендиректором одной очень известной компании. Он придерживается классических взглядов в управлении сотрудниками, поэтому в его компании почти у каждого сотрудника ровно один непосредственный начальник. Единственным работником без начальника является он сам. Таким образом, если изобразить сотрудников на схеме и провести ребра между сотрудниками и их непосредственными начальниками, получится структура дерева, в корне которого находится Гена. Все сотрудники занумерованы, а Гена имеет номер 1 1. Сотрудник под номером i придерживается какого-то мнения, выражаемого числом o i (оно равняется 0 0 или 1 1), относительно того, как должна развиваться компания. Гена заметил, что когда мнения сотрудника и его непосредственного начальника различны, возникает конфликт, и эффективность всех сотрудников становится крайне низкой. Желая привести компанию к успеху, Гена принял волевое решение — ради того, чтобы внутри компании не было конфликтов, он готов уволить одного сотрудника (даже себя!), после чего все сотрудники, оставшиеся без непосредственного начальника, станут главами новых команд (в которые будут входить все их подчиненные). Помогите Гене и сообщите, возможно ли уволить кого-то, чтобы в компании не было конфликтов. Если да, то дополнительно сообщите максимальный номер сотрудника, которого можно уволить, чтобы в компании не было конфликтов.
Формат входных данных :
Первая строка содержит число n ( 3 ≤n ≤ 2 × 1 0 в 5 степени ) — количество сотрудников в компании Гены. Каждая из следующих n − 1 строк содержит числа u и v — номера начальника и его подчиненного ( 1 ≤ u , v ≤ n ) (1≤u,v≤n).
Следующая строка содержит числа o1,o2,...,o n (oi ∈ {0,1}), где o i — мнение i-го сотрудника.
Гарантируется, что иерархия сотрудников представляет из себя дерево, в корне которого находится сотрудник под номером 1.
Формат выходных данных
Если невозможно уволить одного из сотрудников, чтобы избежать конфликтов в компании, выведите NO. В противном случае выведите YES и максимального по номеру сотрудника, которого стоит уволить.
Замечание
В первом примере неважно, кого увольнять. Сотрудник с максимальным номером — 5.
Во втором примере можно уволить как 1-го, так и 3-го сотрудника. Максимальный подходящий номер — 3. Обратите внимание, что в результате увольнения сотрудника под номером 3 сотрудники 6 и 7 останутся без начальника.
В третьем примере можно показать, что при любом увольнении останутся конфликтующие сотрудники, являющиеся друг другу начальником и подчиненным.
Примеры данных
пример 1
ввод:
5
1 2
1 3
2 4
3 5
1 1 1 1 1
вывод:
YES
5
пример 2
ввод:
7
1 2
1 3
2 4
2 5
3 6
3 7
0 0 1 0 0 1 1
вывод:
YES
3
пример 3
ввод:
5
1 2
2 3
3 4
4 5
1 0 1 0 1
вывод:
NO