I. Будущие доминаторы
ограничение по времени на тест
4 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Dhruvil и amenotiomoi живут в разных странах и общаются онлайн. Изначально у amenotiomoi есть пустая доска размера $$$n \times n$$$, а у Dhruvil'а есть последовательность целых чисел $$$1, 2, \ldots, n^2$$$, каждое число в которой встречается по одному разу. Эти числа могут быть расположены в клетках доски, каждая клетка — либо пустая, либо содержит ровно одно число.

Текущее состояние доски назовём хорошим, если существует способ расположить оставшиеся числа в пустые клетки доски так, что у каждого числа, кроме $$$1$$$, будет сосед с меньшим значением. Две клетки считаются соседними, если они имеют общую сторону.

Строки доски пронумерованы от $$$1$$$ до $$$n$$$ сверху вниз, столбцы пронумерованы от $$$1$$$ до $$$n$$$ слева направо. Клетку на пересечении $$$x$$$-й строки и $$$y$$$-го столбца обозначим как $$$(x, y)$$$.

В процессе общения amenotiomoi задаёт Dhruvil'у $$$q$$$ запросов. Каждый раз он сообщает Dhruvil'у координаты некоторой пустой клетки $$$(x, y)$$$. Dhruvil должен расположить в этой клетке одно из оставшихся чисел таким образом, чтобы доска осталась хорошей. Среди всех возможных способов это сделать он выберет самое большое число, которое он может расположить в этой клетке, и отправит его amenotiomoi в качестве ответа на запрос.

Поскольку amenotiomoi заранее знает ответы на все запросы, он сообщает Dhruvil'у $$$(x \oplus k,y \oplus k)$$$ вместо $$$(x, y)$$$, где $$$k$$$ — ответ на предыдущий запрос. Когда amenotiomoi отправляет свой первый запрос, он считает, что $$$k = 0$$$. На каждом запросе Dhruvil должен декодировать сообщение и отправить ответ amenotiomoi. Здесь $$$\oplus$$$ обозначает операцию побитового исключающего ИЛИ.

Помогите Dhruvil ответить на все запросы amenotiomoi.

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

Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 100$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.

Первая строка каждого набора входных данных содержит два целых числа $$$n$$$ и $$$q$$$ ($$$1 \le n \le 10^3$$$, $$$1 \le q \le n^2$$$).

В $$$i$$$-й из следующих $$$q$$$ строк содержится два целых числа $$$x_i'$$$ и $$$y_i'$$$. Соответствующий запрос задаёт клетку $$$(x_i, y_i)$$$, где $$$x_i'=x_i \oplus k$$$ и $$$y_i' = y_i \oplus k$$$, где $$$k$$$ — корректный ответ на предыдущий запрос. Если $$$i = 1$$$, то используется $$$k = 0$$$. Гарантируется, что $$$1 \le x_i, y_i \le n$$$ и $$$(x_i, y_i)$$$ — пустая клетка в момент $$$i$$$-го запроса.

Гарантируется, что сумма значений $$$n^2$$$ по всем наборам входных данных не превосходит $$$10^6$$$.

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

Для каждого набора входных данных, выведите ответы на все запросы через пробел на одной строке.

Пример
Входные данные
3
2 4
1 1
6 6
3 0
1 2
3 9
2 1
8 11
4 4
4 4
2 0
4 4
11 10
1 3
3 2
1 1
1 1
Выходные данные
4 2 3 1 
9 7 6 3 5 8 2 1 4 
1 
Примечание

В первом наборе входных данных, первый запрос задаёт клетку $$$(1, 1)$$$, Dhruvil располагает в ней число $$$4$$$.

Второй запрос поступает как $$$(6, 6)$$$, Dhruvil декодирует его в $$$(2, 2)$$$, используя предыдущий ответ ($$$2 \oplus 4 = 6$$$). Если Dhruvil расположит $$$3$$$ в клетке $$$(2, 2)$$$, то доска перестанет быть хорошей. Поэтому, Dhruvil может расположить в ней только число $$$2$$$.

Третий запрос поступает как $$$(3, 0)$$$, Dhruvil декодирует его в $$$(1, 2)$$$, используя предыдущий ответ ($$$1 \oplus 2 = 3$$$, $$$2 \oplus 2 = 0$$$). Dhruvil может расположить в этой клетке число $$$3$$$.

Четвёртый запрос поступает как $$$(1, 2)$$$, Dhruvil декодирует его в $$$(2, 1)$$$, используя предыдущий ответ ($$$2 \oplus 3 = 1$$$, $$$1 \oplus 3 = 2$$$). В последовательности осталось только число $$$1$$$, и если поместить $$$1$$$ в эту клетку, доска останется хорошей.

Ниже представлено история всех изменений доски:

Во втором наборе входных данных итоговое состояние доски выглядит так:

$$$8$$$$$$7$$$$$$5$$$
$$$9$$$$$$3$$$$$$4$$$
$$$1$$$$$$2$$$$$$6$$$