Запросы на красоты перестановки
В задаче используется 0-индексация, т.е. массивы нумеруются с 0.
Перестановка длины — это массив положительных целых чисел, где каждый элемент встречается ровно один раз, и каждое число от до присутствует. Например, , , являются перестановками, в то время как , , — нет.
Мы определяем множество достижимых преобразований перестановки относительно множества как множество перестановок, которые можно получить из , применяя следующую операцию любое количество раз (возможно, 0):
Выберите два индекса такие, что , и поменяйте местами элементы перестановки на позициях и .
Здесь обозначает побитовую операцию XOR.
Множество называется хорошим относительно перестановки , если множество достижимых преобразований перестановки содержит тождественную перестановку.
Мы называем перестановку длины тождественной перестановкой, если выполняется следующее: .
Красота перестановки определяется как минимальный размер хорошего множества относительно нее.
Вам дана перестановка длины . Вам нужно вывести начальную красоту перестановки. Вам также даны запросов. Каждый запрос состоит из двух чисел . После каждого запроса вам нужно поменять местами элементы на позициях и . Обратите внимание, что перестановка сохраняет изменения после каждого запроса. В ответ на каждый запрос вам нужно вывести красоту полученной перестановки.
Входные данные
Первая строка содержит два числа и .
Вторая строка содержит чисел — начальная перестановка.
Третья строка содержит одно число — количество запросов.
В следующих строках даны два числа — параметры -го запроса.
Значения -го запроса определяются следующим образом. Пусть — это ответ на предыдущий запрос или красота начальной перестановки, если это первый запрос. Тогда , и .
Выходные данные
В первой строке выведите красоту начальной перестановки.
В следующих строках выведите ответы на запросы.
Примеры
Примечание
После второго запроса перестановка становится .
Пусть . Используя это множество, мы можем выполнить следующие обмены, чтобы преобразовать перестановку в тождественную перестановку:
Поменяйте местами и . Перестановка становится .
Поменяйте местами и . Перестановка становится .
Поменяйте местами и . Перестановка становится .
Поменяйте местами и . Перестановка становится .
Можно доказать, что невозможно получить тождественную перестановку, выполняя операции с .
Оценивание
( баллов): ;
( баллов): ;
( баллов): гарантируется, что ответ не превышает , ;
( баллов): ;
( баллов): ;
( баллов): ;
( баллов): без дополнительных ограничений.