У Хуана есть красивое дерево с $$$n$$$ вершинами, пронумерованными от $$$1$$$ до $$$n$$$. Также есть $$$k$$$ различных цветов, пронумерованных от $$$1$$$ до $$$k$$$. Каждая вершина $$$u$$$ в дереве имеет свой собственный набор $$$C_u$$$, который содержит цвета. Обозначим за $$$s$$$ сумму $$$\sum_{i=1}^n \left| C_i \right|$$$.
Есть $$$q$$$ запросов, в которых вам будут даны вершины $$$u$$$ и $$$v$$$. Обозначим $$$P$$$ как множество всех вершин на простом пути между $$$u$$$ и $$$v$$$, включительно. Вам нужно вычислить для каждого запроса следующее значение: $$$$$$\left| \bigcap_{w \in P} C_w \right|$$$$$$
То есть, размер пересечения множеств всех вершин на пути от $$$u$$$ до $$$v$$$. Другими словами, посчитайте, сколько цветов встречается в каждом наборе на пути от $$$u$$$ до $$$v$$$.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит четыре целых числа $$$n$$$, $$$k$$$, $$$s$$$ и $$$q$$$ ($$$1 \le n, k, q \le 3 \cdot 10^5, 1 \le s \le \min (nk, 3 \cdot 10^5)$$$) — количество вершин в дереве, количество различных цветов, сумма размеров всех наборов цветов и количество запросов соответственно.
Каждая из следующих $$$n-1$$$ строк содержит по два целых числа $$$u$$$, $$$v$$$ ($$$1 \le u, v \le n$$$), указывая, что между вершинами $$$u$$$ и $$$v$$$ есть ребро.
Каждая из следующих $$$s$$$ строк содержит по два целых числа $$$v$$$ и $$$x$$$ ($$$1 \le v \le n, 1 \le x \le k$$$), указывая, что цвет $$$x$$$ находится в $$$C_v$$$. Все $$$s$$$ строк являются попарно различными.
Каждая из следующих $$$q$$$ строк содержит по два целых числа $$$u$$$ и $$$v$$$ ($$$1 \le u, v \le n$$$), обозначая запрос между вершинами $$$u$$$ и $$$v$$$.
Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$3 \cdot 10^5$$$.
Гарантируется, что сумма значений $$$k$$$ по всем наборам входных данных не превосходит $$$3 \cdot 10^5$$$.
Гарантируется, что сумма значений $$$s$$$ по всем наборам входных данных не превосходит $$$3 \cdot 10^5$$$.
Гарантируется, что сумма значений $$$q$$$ по всем наборам входных данных не превосходит $$$3 \cdot 10^5$$$.
Для каждого набора входных данных выведите на одной строке ответы на все запросы в порядке их появления во входных данных, разделённые пробелами.
23 5 10 41 32 11 11 21 31 41 52 12 22 53 13 21 32 31 21 19 3 12 107 22 46 89 62 15 82 53 91 36 19 39 15 12 38 14 35 38 37 33 14 71 44 55 54 29 92 22 25 27 3
2 2 3 51 1 1 2 1 2 1 1 1 0
В первом наборе входных данных есть дерево из $$$3$$$ вершин с рёбрами $$$(1, 3)$$$ и $$$(2, 1)$$$. Цвета в наборах каждой вершины:
$$$4$$$ запроса между парами вершин $$$(1, 3)$$$, $$$(2, 3)$$$, $$$(1, 2)$$$, $$$(1, 1)$$$ соответствуют следующим значениям: