Запити на дереві
Дано зв'язний граф з вершинами та ребром, тобто дерево. Вершина є коренем дерева. На вершині записано ціле число . Вартість дерева визначається як XOR
сума всіх його значень. Дано запитів, кожен з яких містить два цілі числа та . Кожен запит змінює всі значення на , де належить піддереву вершини , а позначає операцію "виключне або". Як ми всі знаємо, ця задача є дуже простою для наших учасників, але якби все було так просто, ця задача не з'явилася б на цій олімпіаді. Ви знаєте, що деякі запити були змінені злим Антоном. Тому вам потрібно знайти суму вартостей за модулем всіх дерев, які можна отримати, застосовуючи деякі (можливо, ніякі) запити до дерева.
Вхідні дані
Перший рядок містить два цілих числа () та () — кількість вершин у дереві та кількість запитів відповідно.
Другий рядок містить цілих чисел () — значення, записані на вершинах дерева.
Наступні рядки містять два цілих числа та кожен — ребра заданого дерева.
Наступні рядків містять два цілих числа () та () кожен — опис запитів.
Вихідні дані
Виведіть одне ціле число — відповідь на задачу.
Приклади
Оцінювання
( балів): ;
( балів): ;
( балів): ;
( балів): ;
( балів): ;
( балів): ;
( балів): без додаткових обмежень.