L. Сбой сортировщика
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В Закулисье обнаружилась странная машина, которая должна сортировать числа. Однако из-за сбоя она больше не умеет менять элементы местами.

Вам дан массив $$$a$$$ из $$$n$$$ целых чисел. Машина умеет выполнять только одну операцию:

Выбрать два различных индекса $$$i$$$ и $$$j$$$ ($$$1 \le i, j \le n$$$, $$$i \ne j$$$) и заменить $$$a_i$$$ на $$$a_i \oplus a_j$$$, где $$$\oplus$$$ обозначает побитовое исключающее ИЛИ (XOR).

Ваша задача — определить, можно ли отсортировать массив по неубыванию, используя не более $$$4n$$$ операций. Если это возможно, выведите любую подходящую последовательность операций. Заметьте, что необязательно сохранять исходные элементы массива, то есть достаточно получить любой отсортированный массив с помощью описанной операции.

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

В первой строке дано целое число $$$n$$$ — размер массива ($$$1 \le n \le 2 \cdot 10^5$$$).

Во второй строке даны $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ — элементы массива ($$$0 \le a_i \le 10^9$$$).

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

Если отсортировать массив за не более чем $$$4n$$$ операций невозможно, выведите $$$-1$$$.

Иначе в первой строке выведите целое число $$$k$$$ ($$$0 \le k \le 4n$$$) — количество операций.

В следующих $$$k$$$ строках выведите по два целых числа $$$i$$$ и $$$j$$$ ($$$1 \le i, j \le n$$$, $$$i \ne j$$$), обозначающих операцию $$$a_i \gets a_i \oplus a_j$$$.

После выполнения всех операций массив должен быть отсортирован по неубыванию. Если существует несколько решений, разрешается вывести любое из них.

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