交友遊戲是一種鼓勵社交的遊戲,遊戲主要的進行方式是只要 $a$ 傳訊息給 $b$,$a$ 和 $b$ 都會獲得 $1$ 塊錢。
現在有 $n$ 個人要參加這個遊戲,為了方便起見我們用編號 $1, 2, \dots, n$ 來表示這些人,而每個人都有各自要達到的目標金額,請你幫助這些人規劃他們應該如何傳訊息,使得每個人都剛好拿到目標的金額。
如果有兩種以上的規劃方式可以達成目的,輸出任意一種即可。
輸入由兩行組成;
第一行只有一個整數 $n$,代表有多少人參加這次的遊戲;
第二行有 $n$ 個整數 $c_1, c_2, \dots, c_n$,$c_i$ 代表編號為 $i$ 的人的目標金額。
若是沒有辦法使得每個人都剛好拿到他們的目標金額,請只輸出一個整數 $-1$ 就好;
否則第一行請先輸出一個整數 $m$,代表總共有幾封訊息,
接下來請輸出 $m$ 行,每行包含 $2$ 個整數 $a, b$,代表 $a$ 傳訊息給 $b$。
注意看各項限制
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0~15 | 無特別限制 | 100 |
No. | Time Limit (ms) | Memory Limit (KiB) | Output Limit (KiB) | Subtasks |
---|---|---|---|---|
0 | 1000 | 65536 | 65536 | |
1 | 1000 | 65536 | 65536 | |
2 | 1000 | 65536 | 65536 | |
3 | 1000 | 65536 | 65536 | |
4 | 1000 | 65536 | 65536 | |
5 | 1000 | 65536 | 65536 | |
6 | 1000 | 65536 | 65536 | |
7 | 1000 | 65536 | 65536 | |
8 | 1000 | 65536 | 65536 | |
9 | 1000 | 65536 | 65536 | |
10 | 1000 | 65536 | 65536 | |
11 | 1000 | 65536 | 65536 | |
12 | 1000 | 65536 | 65536 | |
13 | 1000 | 65536 | 65536 | |
14 | 1000 | 65536 | 65536 | |
15 | 1000 | 65536 | 65536 |