На встрече собрались \(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
|