#diverta20192c. [diverta2019_2_c]Successive Subtraction

[diverta2019_2_c]Successive Subtraction

問題文

黒板に A1,A2,...,ANA_1, A_2, ..., A_NNN 個の整数が書かれています。

以下の操作を N1N-1 回繰り返して黒板にただ 11 つの整数が書かれているようにします。

  • 22 個の整数 x,yx, y を選んで消し、新たに 11 個の整数 xyx-y を書く。

ただ 11 つ残る整数としてありうる値の最大値と、その最大値を達成する操作列を求めてください。

制約

  • 2leqNleq1052 \\leq N \\leq 10^5
  • \-104leqAileq104\-10^4 \\leq A_i \\leq 10^4
  • 入力は全て整数である

入力

入力は以下の形式で標準入力から与えられる。

NN A1A_1 A2A_2 ...... ANA_N

出力

ただ 11 つ残る整数としてありうる値の最大値 MM と、その最大値を達成する操作列 xi,yix_i, y_i を以下の形式に従って出力せよ。

ただし、xi,yix_i, y_iii 回目の操作で選ぶ x,yx, y を表す。

また、最大値を達成する操作列が複数存在する場合は、そのうちどれを出力しても良い。

MM x1x_1 y1y_1 :: xN1x_{N-1} yN1y_{N-1}


入力例 1

3
1 -1 2

出力例 1

4
-1 1
2 -2

11 回目の操作で xx として \-1\-1yy として11 を選ぶと、黒板に書かれている整数は (2,2)(-2, 2) になります。

22 回目の操作で xx として 22yy として\-2\-2 を選ぶと、黒板に書かれている整数は (4)(4) になります。

よって 44 がただ 11 つ残り、55 以上の整数がただ 11 つ残ることはないので、これが最大です。


入力例 2

3
1 1 1

出力例 2

1
1 1
1 0