При подготовке к Хэллоуину Джек подумал, что тыквы --- это прошлый век, надо готовить груши (действительно, почему бы и нет, форма похожая)! Возможно, это связано с тем, что тыквы он не выращивает, но зато у него есть грушевое дерево. И к празднику на этом дереве выросло n груш, каждая размером a_i.
Грушевое дерево также является деревом в том смысле, что является связным неориентированным графом без циклов. Одна из груш расположилась прямо около корня дерева (не спрашивайте как так получилось), а каждая следующая располагается на ветке, растущей из места крепления одной из предыдущих груш.
Детишки, которые пришли к Джеку за конфетами, только сегодня на уроке информатики прошли операцию XOR (обозначается ⊕) --- побитовое исключающее <<или>>. Будучи в хорошем настроении, Джек предложил им заработать больше конфет, посчитав на его грушевом дереве следующую величину: \begin{enumerate}
XOR, то есть получается ⨁_i⇝j i<ja_i+a_jИменно столько конфет получат дети, если смогут посчитать эту величину. Помогите им в этом, и, возможно, они даже поделятся с вами!
В первой строке ввода находится единственное целое число n (1≤n≤3⋅105) --- количество груш на дереве.
В следующей строке через пробел перечислены n целых чисел a_i (1≤a_i≤1018) --- размеры груш.
В следующих n−1 строках находятся описания веток дерева, в i-й строке через пробел даны два целых числа v_i и u_i --- номера груш, между которыми растет i-я ветка дерева (1≤a_i,b_i≤n).
Выведите единственное целое число --- XOR весов всех путей в дереве.