Дано дерево (связный неориентированный граф без циклов), его вершины пронумерованы от 1 до n, длина i-го ребра wi. В вершине s стоит полицейский, также в вершинах x1, x2, ..., xm (xj ≠ s) расположены m преступников.
Полицейский ходит по ребрам со скоростью 1, преступники могут перемещаться со сколь угодно большой скоростью. Если преступник в какой-то момент находится в одной точке с полицейским, его мгновенно ловят. Определите время, за которое можно поймать всех преступников, если преступники и полицейский действуют оптимально (т.е. преступники максимизируют это время, а полицейский — минимизирует). В любой момент времени все знают текущие положения всех остальных людей.
В первой строке содержится целое число n (1 ≤ n ≤ 50) — количество вершин в дереве. Следующие n - 1 строк содержат по три целых числа ui, vi, wi (1 ≤ ui, vi ≤ n, 1 ≤ wi ≤ 50), описывающие ребра и их длины. Гарантируется, что заданный граф — дерево.
Следующая строка содержит целое число s (1 ≤ s ≤ n) — номер вершины, где изначально находится полицейский.
Следующая строка содержит целое число m (1 ≤ m ≤ 50) — количество преступников. В следующей строке записано m целых чисел x1, x2, ..., xm (1 ≤ xj ≤ n, xj ≠ s) — номера вершин, где изначально расположены преступники. xj не обязательно различны.
Если полицейский не сможет поймать всех преступников, выведите в единственную строку «Terrorists win» (без кавычек).
Иначе выведите одно число — время, за которое полицейский поймает всех преступников.
4
1 2 2
1 3 1
1 4 1
2
4
3 1 4 1
8
6
1 2 3
2 3 5
3 4 1
3 5 4
2 6 3
2
3
1 3 5
21
В первом примере один из оптимальных сценариев такой. Преступник 2 перемещается в вершину 3, а преступник 4 — в вершину 4. Полицейский идет в вершину 4 и ловит двух преступников. После этого преступник 1 перемещается в вершину 2. Полицейский идет в вершину 3 и ловит преступника 2, потом идет в вершину 2 и ловит оставшегося преступника.
Название |
---|