На встрече собрались \(n\) человек. В каждый момент времени любые два человека могут отойти и поговорить наедине. Одни и те же два человека могут поговорить несколько (сколько угодно) раз за встречу.
У каждого человека есть ограниченная общительность. Общительность \(i\)-го человека равна неотрицательному целому числу \(a_i\). Это означает, что после \(a_i\) личных разговоров этот человек уходит со встречи (и больше ни с кем не разговаривает). Если \(a_i = 0\), \(i\)-й человек уходит со встречи сразу после ее начала.
Встреча считается тем более продуктивной, чем больше в течение нее состоялось разговоров.
По данному массиву общительности \(a\) определите, какие люди должны разговаривать друг с другом, чтобы суммарное количество разговоров было как можно больше.
Выходные данные
Выведите \(t\) ответов на все наборы входных данных.
В первой строке ответа выведите число \(k\) — максимальное количество разговоров, которое возможно провести за встречу.
В каждой из следующих \(k\) строк выведите через пробел по два целых числа \(i\) и \(j\) (\(1 \le i, j \le n\) и \(i \neq j\)) — номера людей, между которыми состоится очередной разговор.
Если ответов несколько, выведите любой из них.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
8 2 2 3 3 1 2 3 4 1 2 3 4 3 0 0 2 2 6 2 3 0 0 2 5 8 2 0 1 1 5 0 1 0 0 6
|
2
1 2
1 2
3
1 3
2 3
2 3
5
1 3
2 4
2 4
3 4
3 4
0
2
1 2
1 2
0
4
1 2
1 5
1 4
1 2
1
5 2
|