B. Уравняй делением
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вам дан массив $$$a_1, a_2, \ldots, a_n$$$ положительных целых чисел.

Вы можете сделать следующую операцию несколько (возможно, ноль) раз:

  • Выбираются два индекса $$$i$$$, $$$j$$$ ($$$1 \leq i, j \leq n$$$, $$$i \neq j$$$).
  • Приравнивается $$$a_i := \lceil \frac{a_i}{a_j} \rceil$$$. Здесь $$$\lceil x \rceil$$$ обозначает значение $$$x$$$, округленное вверх до ближайшего целого числа $$$\geq x$$$.

Можно ли сделать все элементы массива равными с помощью нескольких операций (возможно, нуля)? Если да, выведите любой способ сделать это за не более чем $$$30n$$$ операций.

Можно доказать, что в ограничениях этой задачи если существует какой-нибудь способ сделать все элементы равными, существует способ, использующий не более $$$30n$$$ операций.

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

В первой строке находится единственное целое число $$$t$$$ ($$$1 \leq t \leq 1000$$$) — количество наборов входных данных. Описания наборов входных данных следуют.

Первая строка описания каждого набора входных данных содержит единственное целое число $$$n$$$ ($$$1 \leq n \leq 100$$$).

Вторая строка описания каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \leq a_i \leq 10^9$$$).

Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$1000$$$.

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

Для каждого набора входных данных выведите единственное целое число $$$q$$$ ($$$-1 \leq q \leq 30n$$$). Если $$$q=-1$$$, то решения не существует, иначе $$$q$$$ равняется количеству операций.

Если $$$q \geq 0$$$, то следующие $$$q$$$ строк содержат по два целых числа $$$i$$$, $$$j$$$ ($$$1 \leq i, j \leq n$$$, $$$i \neq j$$$) — описания операций.

Если существует несколько решений, выведите любое.

Пример
Входные данные
10
1
100
3
1 1 1
2
2 1
2
5 5
3
4 3 2
4
3 3 4 4
2
2 100
5
5 3 6 7 8
6
3 3 80 3 8 3
4
19 40 19 55
Выходные данные
0
0
-1
0
2
1 3
2 1
4
3 1
4 2
1 3
2 4
6
2 1
2 1
2 1
2 1
2 1
2 1
8
5 2
4 2
3 2
1 3
1 3
2 1
4 1
5 1
4
5 1
3 1
3 1
3 1
9
4 2
2 1
1 2
1 2
3 2
3 2
1 4
2 4
3 4
Примечание

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

В третьем наборе входных данных невозможно сделать все числа равными с помощью операций.

В пятом наборе входных данных: $$$[\color{red}{4}, 3, \color{blue}{2}] \to [\color{blue}{2}, \color{red}{3}, 2] \to [2, 2, 2]$$$.

В шестом наборе входных данных: $$$[\color{blue}{3}, 3, \color{red}{4}, 4] \to [3, \color{blue}{3}, 2, \color{red}{4}] \to [\color{red}{3}, 3, \color{blue}{2}, 2] \to [2, \color{red}{3}, 2, \color{blue}{2}] \to [2, 2, 2, 2]$$$.

На примере красные числа это числа на позициях $$$i$$$ (которые будут присвоены), синие числа это числа на позициях $$$j$$$.