$N$ вершин образуют дерево. Вершины пронумерованы от $1$ до $N$. Вес всех рёбер равен $1$.
Напишите программу, которая выполняет следующий запрос.
k v_1 r_1 v_2 r_2 ... v_k r_k: если некоторая вершина $x$ находится от $v_i$ на расстоянии не более $r_i$ (то есть расстояние меньше или равно $r_i$), то будем говорить, что $x$ удовлетворяет условию $i$. Среди всех вершин дерева выведите количество вершин, удовлетворяющих хотя бы $k-1$ из $k$ заданных условий.
Входные данные
В первой строке дано целое число $N$. ($1 \le N \le 100{,}000$)
В следующих $N-1$ строках даны по два целых числа $u, v$ — номера вершин, соединённых ребром. ($1 \le u, v \le N$)
В следующей строке дано целое число $M$. ($1 \le M \le 300{,}000$)
В следующих $M$ строках даны запросы, описанные выше. Каждый запрос, в отличие от описания, подаётся не в одной строке, а разбит на $k + 1$ строк. Смотрите пример входных данных. ($1 \le v_i \le N$, $0 \le r_i < N$, $1 \le k$)
Сумма $k$ по всем запросам не превосходит $300{,}000$.
Выходные данные
Выведите результаты запросов, каждый на отдельной строке.
Примеры
Входные данные 1
10 1 3 6 4 9 8 1 8 3 4 2 8 10 3 4 5 8 7 2 3 8 1 3 1 3 2 2 7 3 6 0
Выходные данные 1
5 7