Груша на Хэллоуин
시간 제한1초메모리 제한1024 MB
트리에서 모든 서로 다른 두 정점 i, j에 대해 a_i + a_j를 XOR한 값을 구한다. 경로 구조는 결과에 영향을 주지 않는다.
문제
При подготовке к Хэллоуину Джек подумал, что тыквы --- это прошлый век, надо готовить груши (действительно, почему бы и нет, форма похожая)! Возможно, это связано с тем, что тыквы он не выращивает, но зато у него есть грушевое дерево. И к празднику на этом дереве выросло груш, каждая размером .
Грушевое дерево также является деревом в том смысле, что является связным неориентированным графом без циклов. Одна из груш расположилась прямо около корня дерева (не спрашивайте как так получилось), а каждая следующая располагается на ветке, растущей из места крепления одной из предыдущих груш.
Детишки, которые пришли к Джеку за конфетами, только сегодня на уроке информатики прошли операцию XOR (обозначается ) --- побитовое исключающее <<или>>. Будучи в хорошем настроении, Джек предложил им заработать больше конфет, посчитав на его грушевом дереве следующую величину: \begin{enumerate}
- Рассматривается путь между двумя грушами и . За вес такого пути обозначается сумма весов груш, висящих на его концах, то есть .
- Для всех путей в дереве, у которых номер первой груши меньше номера последней груши, рассматривается их вес, и к ним всем применяется
XOR, то есть получается
Именно столько конфет получат дети, если смогут посчитать эту величину. Помогите им в этом, и, возможно, они даже поделятся с вами!
입력
В первой строке ввода находится единственное целое число () --- количество груш на дереве.
В следующей строке через пробел перечислены целых чисел () --- размеры груш.
В следующих строках находятся описания веток дерева, в -й строке через пробел даны два целых числа и --- номера груш, между которыми растет -я ветка дерева ().
출력
Выведите единственное целое число --- XOR весов всех путей в дереве.