← К соревнованиям

Sort Me Round

Ксор-Егор

Вам задан массив из nn элементов, содержащий bb-битные неотрицательные числа.

На вход поступают qq запросов двух видов:

  • set i x - присвоить элементу под индексом ii значение xx.
  • get l r - применить к битовому представлению каждого числа на отрезке от ll до rr произвольную перестановку длиной bb, и посчитать максимально возможный XOR (побитовое исключащее ИЛИ) этого отрезка, который может после этого получиться.

Обратите внимание:

  • после каждого запроса типа get массив возвращается в исходное состояние
  • вы выбираете одну и ту же перестановку для всех чисел в запросе, а не отдельную для каждого числа

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

В первой строке записаны числа nn, qq и bb - длина массива, количество запросов и битность элементов соответственно (1n,q21051 \le n, q \le 2 \cdot 10^5, 1b321 \le b \le 32).

В следующей строке записаны элементы массива. Каждое число находится в диапазоне от 00 включительно до 2b2^b невключительно.

В каждой из следующих строк записаны запросы в формате из условия (1lrn1 \le l \le r \le n, 1in1 \le i \le n, 1x<2b1 \le x < 2^b).

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

В ответ на каждый запрос типа get выведите ответ на него с новой строки.

Подзадачи

баллынеобх. подзадачиограничения
1

10

-

n,q500n, q \le 500, b4b \le 4

2

45

1

n,q500n, q \le 500

3

10

1

b4b \le 4

4

20

-

Нет запросов обновления

5

15

2, 3, 4

Нет доп. ограничений

STDINSTDOUT
7 4 4
6 5 7 8 8 2 5
get 3 7
get 1 4
set 7 7
get 3 7
0
12
8