Мистический эксперимент Пагсли
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Стараясь не отставать от своей сестры, Пагсли тоже решил провести в одной из тёмных лабораторий особняка Аддамс странный эксперимент. На этот раз он собрал массив из $$$n$$$ чисел, в каждом из которых, по его словам, запечатана частица семейного безумия.

В ходе опытов Пагсли обнаружил нечто, что он назвал равновесием хаоса: некоторые элементы массива обладают загадочной гармонией — если посчитать xor всех элементов слева от некоторого элемента, а затем xor всех элементов справа, оба значения окажутся одинаковыми. Такие элементы массива он назвал точками равновесия хаоса. Напомним, что xor — это операция побитового исключающего или, а также xor пустого префикса или суффикса равен 0.

Пагсли уверен, что именно такие элементы массива удерживают особняк Аддамс от разрушения. Теперь он хочет уметь быстро узнавать, сколько таких элементов осталось, ведь эксперименты часто заканчиваются непредсказуемыми взрывами, из-за чего числа в массиве постоянно меняются!

Пагсли, конечно, талантлив, но до сестры ему ещё далеко, поэтому он просит вас написать программу, которая сможет обрабатывать его запросы:

Помогите Пагсли, ведь в противном случае равновесие может нарушиться и ничто не сможет спасти особняк от разрушения!

Входные данные

В первой строке содержится целое число $$$n$$$  — количество чисел в массиве ($$$1 \le n \le 2 \cdot 10^5$$$).

Вторая строка содержит последовательность из $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$  — элементы данного массива ($$$0 \le a_i \le 10^9$$$).

Третья строка содержит целое число $$$q$$$  — количество запросов ($$$1 \le q \le 2 \cdot 10^5$$$).

В следующих $$$q$$$ строках содержатся запросы, по одному на каждой строке. Каждая строка начинается с целого числа $$$k$$$ — типа запроса ($$$1 \le k \le 2$$$). Если тип запроса равен $$$1$$$, то далее следует $$$2$$$ целых числа $$$i$$$, $$$v$$$ — индекс элемента массива, который нужно заменить, а также значение, на которое нужно заменить ($$$0 \le i < n$$$, $$$0 \le v \le 10^9$$$).

Выходные данные

На каждый запрос второго типа выведите в отдельной строке единственное число  — количество позиций, для которых xor префикса равен xor суффикса в текущем массиве.

Пример

Входные данные
10
0 1 2 3 4 5 6 7 8 13
2
1 9 9
2
Выходные данные
1