Олимпиадный тренинг

Задача . E1. Побег из лабиринта (простая версия)


Эта задача отличается от E2 только поставленным вопросом.

Влад построил лабиринт из \(n\) комнат и \(n-1\) двунаправленного коридора. Из любой комнаты \(u\) по коридорам достижима любая другая комната \(v\). Таким образом, система комнат образует неориентированное дерево.

Влад собрал \(k\) друзей, чтобы сыграть с ними в игру.

Влад начинает игру в комнате с номером \(1\) и выигрывает, если доходит до комнаты, отличной от \(1\), в которую ведёт ровно один коридор. Друзья же расставлены по лабиринту — друг с номером \(i\) стоит в комнате \(x_i\), и никакие два друга не стоят в одной комнате (то есть \(x_i \neq x_j\) для всех \(i \neq j\)). Друзья выигрывают, если одному удаётся встретиться с Владом в какой-либо комнате или коридоре, до того как он выиграет.

За одну единицу времени каждый участник игры может пройти по одному коридору. Все участники ходят одновременно. Участники также могут не двигаться. Каждая комната может вместить всех участников одновременно.

Друзья досконально изучили план и намерены выиграть. Влад в некотором замешательстве от их азарта. Определите, может ли он обеспечить себе победу (то есть победить при любом способе игры друзей)?

Иными словами, определите, существует ли такая последовательность ходов Влада, что при любом способе игры друзей Влад победит.

Входные данные

В первой строке входных данных записано целое число \(t\) (\(1 \le t \le 10^4\)) — количество наборов входных данных в тесте. Перед каждым набором входных данных в тесте содержится пустая строка.

Первая строка набора входных данных содержит два числа \(n\) и \(k\) (\(1 \le k < n \le 2\cdot 10^5\)) — количество комнат и друзей соответственно.

Следующая строка набора входных данных содержит \(k\) целых чисел \(x_1, x_2, \dots, x_k\) (\(2 \le x_i \le n\)) — номера комнат с друзьями. Все \(x_i\) — различны.

Следующие \(n-1\) строк содержат описания коридоров, по два числа на строку \(v_j\) и \(u_j\) (\(1 \le u_j, v_j \le n\)) — номера комнат, которые соединяет коридор \(j\). Все коридоры двунаправленны. Из любой комнаты можно пройти в любую другую, перемещаясь по коридорам.

Гарантируется, что сумма значений \(n\) по всем наборам входных данных в тесте не превосходит \(2\cdot10^5\).

Выходные данные

Выведите \(t\) строк, каждая из которых содержит ответ на соответствующий набор входных данных. В качестве ответа выведите «YES», если Влад может гарантировать себе победу, и «NO» в противном случае.

Вы можете выводить ответ в любом регистре (например, строки «yEs», «yes», «Yes» и «YES» будут распознаны как положительный ответ).

Примечание

В первом наборе входных данных независимо от стратегии друзей Влад может выиграть, пройдя до комнаты \(4\). Игра при этом может выглядеть следующим образом:

Изначальное расположение Влада и друзей. Влад помечен зелёным цветом, друзья — красным.
Расположение по прошествии одной единицы времени.
Конец игры.

Заметим, что если Влад попробует дойти до выхода в вершине \(8\), то друг из комнаты \(3\) сможет его поймать.


Примеры
Входные данныеВыходные данные
1 4

8 2
5 3
4 7
2 5
1 6
3 6
7 2
1 7
6 8

3 1
2
1 2
2 3

3 1
2
1 2
1 3

3 2
2 3
3 1
1 2
YES
NO
YES
NO

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя