AT_arc086_b [ABC081D] Non-decreasing
Description
[problemUrl]: https://atcoder.jp/contests/abc081/tasks/arc086_b
すぬけ君は長さ $ N $ の数列 $ a $ を持っています。$ a $ の ($ 1 $-indexedでの) $ i $ 番目の数は $ a_{i} $ です。
すぬけ君は以下の操作を何度でも行うことができます。
- 操作:$ 1 $ 以上 $ N $ 以下の整数 $ x,y $ を選び、$ a_y $ に $ a_x $ を加算する。
すぬけ君はこの操作を $ 0 $ 回以上 $ 2N $ 回以下行って $ a $ が下記の条件を満たすようにしたいです。そのような操作手順の一例を示してください。 なお、この問題の制約下で、条件を満たすような操作の手順が必ず存在することが証明できます。
- 条件:$ a_1\ \leq\ a_2\ \leq\ ...\ \leq\ a_{N} $
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ a_1 $ $ a_2 $ $ ... $ $ a_{N} $
Output Format
操作回数(これを $ m $ とする)を $ 1 $ 行目に出力せよ。 続く $ m $ 行のうち $ i $ 行目には $ i $ 番目の操作で選んだ数 $ x,y $ を空白区切りで出力せよ。 $ m $ が $ 0 $ 以上 $ 2N $ 以下であり、$ m $ 回の操作後に $ a $ が条件を満たしていれば正解となる。
Explanation/Hint
### 制約
- $ 2\ \leq\ N\ \leq\ 50 $
- $ -10^{6}\ \leq\ a_i\ \leq\ 10^{6} $
- 与えられる入力は全て整数
### Sample Explanation 1
\- $ 1 $ 番目の操作により $ a\ =\ (-2,5,4) $ となります - $ 2 $ 番目の操作により $ a\ =\ (-2,5,8) $ となり、条件を満たします
### Sample Explanation 2
\- $ 1 $ 番目の操作により $ a\ =\ (-4,-3) $ となり、条件を満たします
### Sample Explanation 3
\- すでに条件を満たしています