EduBrick

K. Пары равных на пути

3500 мс · 256 МБ · всё или ничего

В вершинах дерева записаны числа. Для каждого запроса (u,v)(u, v) нужно сказать, сколько пар вершин пути из uu в vv содержат одинаковые значения.

Формат ввода

В первой строке nn (1≤n≤1051 \le n \le 10^5) — число вершин, пронумерованных от 00 до n−1n-1; корень — вершина 00. Во второй строке nn чисел — значения в вершинах (1≤vali≤1091 \le val_i \le 10^9). В третьей строке n−1n-1 чисел: родители вершин 1,…,n−11, \ldots, n-1.

В четвёртой строке qq (1≤q≤1051 \le q \le 10^5). В следующих qq строках по два числа uu и vv.

Формат вывода

Для каждого запроса выведите количество пар вершин пути с равными значениями.

Примеры

ввод
5
4 4 4 9 9
0 0 1 1
4
2 3
0 4
3 4
2 2
вывод
3
1
1
0
ввод
1
5

2
0 0
0 0
вывод
0
0
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.