D. Xor-изация
ограничение по времени на тест
5 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Bury the light deep within!

Cast aside, there's no coming home!

We're burning chaos in the wind!

Drifting in the ocean all alone!

Каждый раз, когда Максим едет в поезде, он придумывает новую задачу. В этот раз формулировка задачи следующая:

Изначально есть массив $$$a$$$, состоящий из $$$n$$$ целых неотрицательных чисел. Также есть $$$q$$$ запросов для этого массива, каждый одного из двух типов:

  • $$$1$$$ $$$l$$$ $$$r$$$ $$$x$$$ — ко всем числам $$$a_{i}$$$ на отрезке от $$$l$$$ до $$$r$$$ применяется операция исключающего ИЛИ$$$^{\ast}$$$ с числом $$$x$$$, то есть $$$a_{i} := a_{i} \oplus x$$$ для всех $$$i$$$ таких, что $$$l \le i \le r$$$.
  • $$$2$$$ $$$l$$$ $$$r$$$ — посчитать минимальное значение $$$a_{i} \oplus a_{j}$$$ по всем парам $$$i$$$, $$$j$$$ таких, что $$$l \le i \lt j \le r$$$.

Сможете ли вы решить задачу Максима?

$$$^{\ast}$$$Побитовое исключающее ИЛИ — бинарная операция, действие которой эквивалентно применению логического исключающего ИЛИ к каждой паре битов, которые стоят на одинаковых позициях в двоичных представлениях операндов. Другими словами, если оба соответствующих бита операндов равны между собой, двоичный разряд результата равен 0; в противном случае, двоичный разряд результата равен 1.

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

Первая строка содержит два целых числа $$$n$$$ ($$$2 \le n \le 10^{5}$$$) и $$$q$$$ ($$$1 \le q \le 10^{5}$$$).

Вторая строка содержит $$$n$$$ целых чисел $$$a_{i}$$$ ($$$0 \le a_{i} \le 1000$$$).

Далее следуют $$$q$$$ строк с описанием запросов.

Для каждого запроса ($$$1 \le l \le r \le n$$$), ($$$0 \le x \le 1000$$$). Также для каждого запроса типа $$$2$$$ гарантируется, что $$$l \lt r$$$.

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

Для каждого запроса типа $$$2$$$ выведите одно целое неотрицательное число — ответ на запрос.

Примеры
Входные данные
5 3
8 2 5 1 7
2 1 5
1 2 4 3
2 1 5
Выходные данные
2
1
Входные данные
5 3
1 5 0 0 3
1 1 1 3
2 1 2
2 2 5
Выходные данные
7
0
Входные данные
12 20
123 61 102 15 47 48 4 72 102 33 17 56
1 7 8 85
2 7 12
2 3 9
2 4 7
2 3 12
1 6 12 38
2 5 6
2 2 8
1 2 4 14
2 6 9
1 3 9 52
2 1 7
1 3 10 58
2 5 6
2 9 12
1 5 11 115
1 5 9 113
2 5 7
2 3 7
2 6 12
Выходные данные
12
0
31
0
57
6
45
6
57
10
57
21
2