В дата-центре Университета Иннополис есть $$$n$$$ серверов, занумерованных последовательными целыми числами от $$$1$$$ до $$$n$$$. Сервера соединены $$$n - 1$$$ оптоволоконными кабелями таким образом, что между любыми двумя серверами возможна передача данных по одному или нескольким кабелям, иными словами, связи между серверами образуют дерево.
Каждый оптоволоконный кабель передает данные с задержкой в $$$1$$$ единицу времени, а задержка между двумя серверами равна расстоянию в дереве между этими серверами.
Требуется выбрать несколько серверов для системы распределенного хранения данных таким образом, чтобы задержка между любыми двумя серверами, входящими в систему, не превышала $$$d$$$. Пусть выбраны сервера $$$s_1, s_2, \ldots, s_k$$$, тогда общая задержка системы равна сумме задержек между всеми $$$\frac{k (k - 1)}{2}$$$ парами серверов $$$s_i$$$. Формально:
Ваша задача — ответить на $$$q$$$ запросов. Каждый запрос задается номером одного сервера $$$u$$$ и состоит в следующем: в случае, если конкретный сервер $$$u$$$ будет включен в систему хранения данных, какова будет максимальная возможная общая задержка системы?
Первая строка входных данных содержит два целых числа $$$n$$$ и $$$d$$$ — количество серверов в дата-центре и максимальная разрешенная задержка между двумя серверами ($$$2 \le n \le 5 \cdot 10^5$$$; $$$0 \le d \le n - 1$$$).
Каждая из следующих $$$n - 1$$$ строк содержит по два целых числа $$$a_i$$$ и $$$b_i$$$ — номера двух серверов, соединенных $$$i$$$-м оптическим кабелем напрямую ($$$1 \le a_i, b_i \le n$$$). Гарантируется, что между любыми двумя серверами существует возможность передать данные по одному или нескольким последовательным кабелям.
Следующая строка содержит одно целое число $$$q$$$ — количество запросов ($$$1 \le q \le 10$$$). В $$$i$$$-й из следующих $$$q$$$ строк дано единственное целое число $$$u_i$$$ — номер сервера из $$$i$$$-го запроса ($$$1 \le u_i \le n$$$).
Для каждого запроса выведите в отдельной строке одно целое число — максимальную общую задержку системы в случае, когда соответствующий сервер входит в систему хранения данных.
Баллы за каждую подзадачу с 1 по 4 начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены.
Каждый тест в подзадачах 5 и 6 оценивается независимо и стоит 3 балла в подзадаче 5 или 2 балла в подзадаче 6.
| Подзадача | Баллы | Ограничения | Необходимые подзадачи | Информация о проверке |
| 0 | – | примеры из условия | полная | |
| 1 | 12 | $$$n \le 15$$$ | 0 | первая ошибка |
| 2 | 11 | $$$d = n - 1$$$ | первая ошибка | |
| 3 | 13 | $$$n \le 300$$$ | 0, 1 | первая ошибка |
| 4 | 16 | $$$n \le 5000$$$ | 0, 1, 3 | первая ошибка |
| 5 | $$$8 \times 3$$$ | $$$n \le 10^5$$$ | 0, 1, 3, 4 | полная |
| 6 | $$$12 \times 2$$$ | без дополнительных ограничений | 0 – 6 | полная |
7 22 11 32 45 44 76 577654321
9 4 9 9 4 9 4
2 01 211
0
В первом примере ответы на запросы соответствуют следующим множествам выбранных серверов: