Server Time:

User's AC Ratio in this contest

96.8% (30/31)

Submission's AC Ratio in this contest

24.2% (30/124)

Description

交友遊戲是一種鼓勵社交的遊戲,遊戲主要的進行方式是只要 $a$ 傳訊息給 $b$,$a$ 和 $b$ 都會獲得 $1$ 塊錢。

現在有 $n$ 個人要參加這個遊戲,為了方便起見我們用編號 $1, 2, \dots, n$ 來表示這些人,而每個人都有各自要達到的目標金額,請你幫助這些人規劃他們應該如何傳訊息,使得每個人都剛好拿到目標的金額。

如果有兩種以上的規劃方式可以達成目的,輸出任意一種即可。

Input Format

輸入由兩行組成;
第一行只有一個整數 $n$,代表有多少人參加這次的遊戲;
第二行有 $n$ 個整數 $c_1, c_2, \dots, c_n$,$c_i$ 代表編號為 $i$ 的人的目標金額。

  • $1 \leq n \leq 2 \cdot 10^5$
  • $c_i \geq 0$
  • $\displaystyle \sum_{i = 1}^n{c_i} \leq 2 \cdot 10^5$

Output Format

若是沒有辦法使得每個人都剛好拿到他們的目標金額,請只輸出一個整數 $-1$ 就好;
否則第一行請先輸出一個整數 $m$,代表總共有幾封訊息,
接下來請輸出 $m$ 行,每行包含 $2$ 個整數 $a, b$,代表 $a$ 傳訊息給 $b$。

  • $1 \leq a, b \leq n$

Sample Input 1

2
0 1

Sample Output 1

-1

Sample Input 2

6
5 1 1 1 1 1

Sample Output 2

5
5 1
1 2
3 1
6 1
1 4

Hints

注意看各項限制

Problem Source

Subtasks

No. Testdata Range Constraints Score
1 0~15 無特別限制 100

Testdata and Limits

No. Time Limit (ms) Memory Limit (KiB) Output Limit (KiB) Subtasks
0 1000 65536 65536 1
1 1000 65536 65536 1
2 1000 65536 65536 1
3 1000 65536 65536 1
4 1000 65536 65536 1
5 1000 65536 65536 1
6 1000 65536 65536 1
7 1000 65536 65536 1
8 1000 65536 65536 1
9 1000 65536 65536 1
10 1000 65536 65536 1
11 1000 65536 65536 1
12 1000 65536 65536 1
13 1000 65536 65536 1
14 1000 65536 65536 1
15 1000 65536 65536 1