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

Задача . F. Корова и отпуск


Бесси планирует отпуск! Кор-лифония состоит из \(n\) городов, соединенных \(n-1\) двусторонними дорогами. Гарантируется, что из любого города можно добраться до любого другого.

Бесси рассматривает \(v\) возможных планов проведения отпуска, \(i\)-й план описывается начальным городом \(a_i\) и конечным городом \(b_i\).

Известно, что только в \(r\) городах оборудованы специальные стоянки для отдыха. Бесси быстро устает, поэтому не может проехать более чем по \(k\) дорогам подряд, не отдохнув на стоянке. Фактически, отдых для Бесси настолько важен, что она готова ради этого посещать города по несколько раз.

Для каждого плана отпуска, существует ли маршрут для Бесси, который позволит ей добраться из начального города в конечный?

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

В первой строке задано три целых числа \(n\), \(k\) и \(r\) (\(2 \le n \le 2 \cdot 10^5\), \(1 \le k,r \le n\))  — количество городов, максимальное количество дорог, которое Бесси может преодолеть подряд без отдыха и количество стоянок для отдыха.

В каждой из следующих \(n-1\) строк задано два целых числа \(x_i\) и \(y_i\) (\(1 \le x_i, y_i \le n\), \(x_i \neq y_i\)), означающих, что город \(x_i\) и город \(y_i\) соединены дорогой.

В следующей строке задано \(r\) целых чисел  — города со стоянками для отдыха. Все города различны.

В следующей строке задано целое число \(v\) (\(1 \le v \le 2 \cdot 10^5\))  — количество планов проведения отпуска.

В каждой из следующих \(v\) строк задано два целых числа \(a_i\) и \(b_i\) (\(1 \le a_i, b_i \le n\), \(a_i \ne b_i\))  — начальный и конечный город плана отпуска.

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

Если Бесси может достичь конечного города, не проезжая более \(k\) дорог без отдыха подряд, для \(i\)-го плана, выведите YES. Иначе, выведите NO.

Примечание

Граф из первого примера изображен ниже. Города со стоянками для отдыха отмечены красным.

В первом плане, Бесси может посетить следующие города в таком порядке: \(1, 2, 3\).

Во втором плане, Бесси может посетить следующие города в таком порядке: \(3, 2, 4, 5\).

В третьем плане, Бесси не сможет достигнуть конечного города. Например, если она попытается проехать следующим образом: \(3, 2, 4, 5, 6\), ей придется проехать более \(2\) дорог без отдыха.

Граф из второго примера изображен ниже.


Примеры
Входные данныеВыходные данные
1 6 2 1
1 2
2 3
2 4
4 5
5 6
2
3
1 3
3 5
3 6
YES
YES
NO
2 8 3 3
1 2
2 3
3 4
4 5
4 6
6 7
7 8
2 5 8
2
7 1
8 1
YES
NO

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

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