Входные данные
Первая строка содержит длину последовательности $N$ $(1 \le N \le 100\,000)$.
Вторая строка содержит $A_1, A_2, \ldots, A_N$ $(1 \le A_i \le 10^9)$.
Третья строка содержит количество запросов $M$ $(1 \le M \le 100\,000)$.
Каждая из следующих $M$ строк содержит $a, b, c$. Значения $a, b, c$ используются для построения запроса:
- $i = a \oplus \text{last\_ans}$
- $j = b \oplus \text{last\_ans}$
- $k = c \oplus \text{last\_ans}$
$\text{last\_ans}$ — это ответ на предыдущий запрос, изначально $0$. Результаты после XOR удовлетворяют $1 \le i \le j \le n$ и $1 \le k \le 10^9$.
Выходные данные
Выведите одну строку для каждого запроса с ответом.
Примеры
Входные данные 1
5 5 1 2 3 4 3 2 4 1 6 6 6 1 5 2
Выходные данные 1
2 0 3