Вам задан массив из элементов, содержащий -битные неотрицательные числа.
На вход поступают запросов двух видов:
set i x
- присвоить элементу под индексом значение .get l r
- применить к битовому представлению каждого числа на отрезке от до произвольную перестановку длиной , и посчитать максимально возможный XOR (побитовое исключащее ИЛИ) этого отрезка, который может после этого получиться.Обратите внимание:
get
массив возвращается в исходное состояниеВходные данные
В первой строке записаны числа , и - длина массива, количество запросов и битность элементов соответственно (, ).
В следующей строке записаны элементы массива. Каждое число находится в диапазоне от включительно до невключительно.
В каждой из следующих строк записаны запросы в формате из условия (, , ).
Выходные данные
В ответ на каждый запрос типа get
выведите ответ на него с новой строки.
Подзадачи
№ | баллы | необх. подзадачи | ограничения |
1 | 10 | - | , |
2 | 45 | 1 | |
3 | 10 | 1 | |
4 | 20 | - | Нет запросов обновления |
5 | 15 | 2, 3, 4 | Нет доп. ограничений |
STDIN | STDOUT |
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 |