Иллюзия сортировки

아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

Известный программист пробует себя в роли иллюзиониста. Его коронный фокус состоит в следующем.

Для заданного массива из nn целых неотрицательных чисел a_1,a_2,a_na\_1, a\_2, \ldots a\_n он быстро подбирает магическое число bb. Целое неотрицательное число bb называется магическим для массива, если применение операции побитового исключающего ИЛИ с этим числом к каждому элементу массива превращает его в отсортированный массив. Иначе говоря, \[ (a_1 \oplus b) \leq (a_2 \oplus b) \leq \ldots \leq (a_n \oplus b), \] где \oplus --- операция побитового исключающего ИЛИ.

Чтобы фокус был более эффектным, после предъявления магического числа для заданного массива иллюзионист qq раз выполняет следующее действие. Он предлагает зрителям изменить один из элементов массива и после этого снова пытается предъявить магическое число. При этом программист настолько отточил свое мастерство иллюзиониста, что каждый раз предъявляет зрителям минимальное возможное магическое число. Иногда фокус не удаётся, так как для полученного массива невозможно подобрать магическое число.

Требуется написать программу, которая по заданному исходно массиву, а также после каждого изменения элемента, вычисляет минимальное магическое число для полученного массива, либо определяет, что такого числа нет.

입력

Первая строка входных данных содержит целое число nn --- количество чисел в массиве (1n1061 \leq n \leq 10^6).

Вторая строка содержит nn целых чисел a_1,a_2,,a_na\_1, a\_2, \ldots, a\_n --- элементы массива (0a_i<2300 \leq a\_i < 2^{30}).

Третья строка содержит целое число qq --- число изменений элемента массива (0q1060 \leq q \leq 10^6).

Следующие qq строк содержат по два целых числа p_ip\_i и v_iv\_i, где p_ip\_i --- номер элемента массива, который следует заменить (1p_in1 \le p\_i \le n), а v_iv\_i --- новое значение этого элемента (0v_i<2300 \le v\_i < 2^{30}).

출력

Выходные данные должны содержать (q+1)(q + 1) целых чисел b_0,b_1,,b_qb\_0, b\_1, \ldots, b\_q, по одному в строке. 

Значение b_0b\_0 --- либо минимальное возможное магическое число для исходного массива, либо 1-1, если такого числа не существует. 

Для ii от 1 до qq значение b_ib\_i --- либо минимальное возможное магическое число для массива после первых ii изменений, либо 1-1, если такого числа не существует.

힌트

Исключающее ИЛИ --- это логическая операция, обозначамая знаком \oplus, которая задаётся следующей таблицей истинности:

xxyyxyx \oplus y
000
011
101
110

Определим побитовое исключающее ИЛИ для двух неотрицательных целых чисел xx и yy. Запишем каждое из целых чисел xx и yy в двоичной системе счисления, дополнив при необходимости более короткое из чисел ведущими нулями до равной длины. Побитовое исключающее ИЛИ двух целых чисел xx и yy, обозначаемое также как xyx \oplus y, это целое неотрицательное число, каждый разряд которого в двоичной системе счисления является исключающим ИЛИ соответствующих разрядов чисел xx и yy. Например, 522=101_210110_2=10011_2=195 \oplus 22 = 101\_2 \oplus 10110\_2 = 10011\_2 = 19.

Среди предложенных на олимпиаде языков программирования в языке Паскаль для обозначения исключающего ИЛИ используется оператор <<xor>>, в остальных языках программирования используется оператор <<^>>.