У вас есть два корневых дерева $$$t_1$$$ и $$$t_2$$$, состоящие из $$$n_1$$$ и $$$n_2$$$ вершин соответственно.
Корневое дерево — это дерево с выделенной вершиной, которую называют корнем.
В каждой вершине деревьев $$$t_1$$$ и $$$t_2$$$ записано целое число — вес данной вершины.
Весом дерева называется целое число, которое получается при последовательном выполнении следующих двух операций:
XOR — это операция побитового исключающего ИЛИ, обозначаемая символом $$$\oplus$$$. При вычислении выражения $$$a \oplus b$$$ каждый бит результата будет равен $$$0$$$, если соответствующие биты чисел $$$a$$$ и $$$b$$$ равны, и равен $$$1$$$ иначе.
Например, вес дерева на рисунке равен 16. Он может быть рассчитан следующим образом:
Корневое дерево из 6 вершин. Вам необходимо подвесить одно из деревьев за другое таким образом, чтобы вес полученного дерева получился максимальным.
Другими словами, необходимо выполнить одну из следующих операций:
В результате получится новое дерево $$$t$$$, состоящее из $$$n_1 + n_2$$$ вершин. Необходимо найти дерево $$$t$$$ такое, вес которого будет максимальным среди всех возможных деревьев, которые можно получить выполнением одной из операций выше.
В первой строке дано целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.
Первая строка каждого набора входных данных содержит ровно одно целое число $$$n_1$$$ ($$$1 \le n_1 \le 10^5$$$) — количество вершин в дереве $$$t_1$$$.
Вторая строка каждого набора входных данных содержит ровно $$$n_1$$$ целых чисел — элементы массива $$$w_1$$$, где $$$w_{1_i}$$$ ($$$1 \le w_{1_i} \le 10^9$$$) описывает вес в вершине дерева $$$t_1$$$ с номером $$$i$$$ ($$$1 \le i \le n_1$$$).
Третья строка каждого набора входных данных содержит ровно $$$n_1$$$ целых чисел — элементы массива $$$p_1$$$ предков дерева $$$t_1$$$. Элемент $$$p_{1_i}$$$ содержит номер родителя вершины $$$i$$$. Если $$$p_{1_i} = i$$$, то вершина $$$i$$$ является корнем дерева $$$t_1$$$.
Четвёртая строка каждого набора входных данных содержит ровно одно целое число $$$n_2$$$($$$1 \le n_2 \le 10^5$$$) — количество вершин в дереве $$$t_2$$$.
Пятая строка каждого набора входных данных содержит ровно $$$n_2$$$ целых чисел — элементы массива $$$w_2$$$, где $$$w_{2_i}$$$ ($$$1 \le w_{2_i} \le 10^9$$$) описывает вес в вершине дерева $$$t_2$$$ с номером $$$i$$$ ($$$1 \le i \le n_2$$$).
Шестая строка каждого набора входных данных содержит ровно $$$n_2$$$ целых чисел — элементы массива $$$p_2$$$ предков дерева $$$t_2$$$. Элемент $$$p_{2_i}$$$ содержит номер родителя вершины $$$i$$$. Если $$$p_{2_i} = i$$$, то вершина $$$i$$$ является корнем дерева $$$t_2$$$.
Гарантируется, что сумма $$$n_1$$$ и $$$n_2$$$ по всем наборам входных данных не превышает $$$2 \cdot 10^5$$$.
Для каждого набора входных данных на отдельной строке выведите ровно одно число — максимальный вес, который можно получить, если подвесить одно дерево за другое.
363 6 4 2 1 51 1 1 1 4 431 1 11 1 12100 1011 121 12 246 6 6 14 3 4 4410000 1 1 100002 3 3 2
23 101 30008
В первом наборе входных данных
Дерево $$$t$$$ максимального веса может быть получено, если подвесить дерево $$$t_2$$$ к вершине номер $$$3$$$ (имеющей вес $$$4$$$) дерева $$$t_1$$$, как показано на рисунке ниже:
Вес данного дерева равен $$$23$$$.
| Name |
|---|


