D. Королевство и его города
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В королевстве К готовились к свадьбе дочери Короля. Однако, чтобы не ударить в грязь лицом перед будущими родственниками, Королю сперва необходимо провести реформу королевства. Так как Королю не терпится выдать свою дочь замуж, этот вопрос ему нужно решить как можно скорее.

Королевство в данный момент состоит из n городов. Города соединены с помощью n - 1 двунаправленной дороги, причём из каждого города можно добраться до любого другого города. Поскольку в былые времена Королю приходилось много экономить, между любыми двумя городами есть ровно один простой путь.

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

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

Помогите Королю посчитать эту характеристику для каждого своего плана.

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

В первой строке задано целое число n (1 ≤ n ≤ 100 000) — число городов в королевстве.

В следующих n - 1 строках записаны по два различных числа ui, vi (1 ≤ ui, vi ≤ n) — номера городов, соединенных очередной дорогой. Гарантируется, что от каждого города можно добраться до любого другого по существующим дорогам.

В следующей строчке задано целое число q (1 ≤ q ≤ 100 000) — количество планов Короля.

Каждая из следующих q строк выглядит следующем образом: в начале записано число ki — количество важных городов в очередном плане Короля (1 ≤ ki ≤ n), затем через пробел записано ровно ki попарно различных целых чисел от 1 до n — номера важных городов в этом плане.

Сумма всех ki не превосходит 100 000.

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

Для каждого плана выведите единственное число — минимальное количество городов, которое потребуется захватить варварам, или  - 1, если все попытки варваров изолировать важные города обречены на провал.

Примеры
Входные данные
4
1 3
2 3
4 3
4
2 1 2
3 2 3 4
3 1 2 4
4 1 2 3 4
Выходные данные
1
-1
1
-1
Входные данные
7
1 2
2 3
3 4
1 5
5 6
5 7
1
4 2 4 6 7
Выходные данные
2
Примечание

В первом тесте в первом и третьем плане варварам достаточно захватить город 3. Во втором и четвёртом плане все попытки будут обречены на провал.

Во втором тесте варварам достаточно захватить города 3 и 5.