AT_diverta2019_2_c Successive Subtraction

Description

[problemUrl]: https://atcoder.jp/contests/diverta2019-2/tasks/diverta2019_2_c 黒板に $ A_1,\ A_2,\ ...,\ A_N $ の $ N $ 個の整数が書かれています。 以下の操作を $ N-1 $ 回繰り返して黒板にただ $ 1 $ つの整数が書かれているようにします。 - $ 2 $ 個の整数 $ x,\ y $ を選んで消し、新たに $ 1 $ 個の整数 $ x-y $ を書く。 ただ $ 1 $ つ残る整数としてありうる値の最大値と、その最大値を達成する操作列を求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ A_1 $ $ A_2 $ $ ... $ $ A_N $

Output Format

ただ $ 1 $ つ残る整数としてありうる値の最大値 $ M $ と、その最大値を達成する操作列 $ x_i,\ y_i $ を以下の形式に従って出力せよ。 ただし、$ x_i,\ y_i $ は $ i $ 回目の操作で選ぶ $ x,\ y $ を表す。 また、最大値を達成する操作列が複数存在する場合は、そのうちどれを出力しても良い。 > $ M $ $ x_1 $ $ y_1 $ $ : $ $ x_{N-1} $ $ y_{N-1} $

Explanation/Hint

### 制約 - $ 2\ \leq\ N\ \leq\ 10^5 $ - $ -10^4\ \leq\ A_i\ \leq\ 10^4 $ - 入力は全て整数である ### Sample Explanation 1 $ 1 $ 回目の操作で $ x $ として $ -1 $、$ y $ として$ 1 $ を選ぶと、黒板に書かれている整数は $ (-2,\ 2) $ になります。 $ 2 $ 回目の操作で $ x $ として $ 2 $、$ y $ として$ -2 $ を選ぶと、黒板に書かれている整数は $ (4) $ になります。 よって $ 4 $ がただ $ 1 $ つ残り、$ 5 $ 以上の整数がただ $ 1 $ つ残ることはないので、これが最大です。