問題文
HtimesW のマス目があり、各マスに整数がひとつずつ書き込まれています。 1leqileqH, 1leqjleqW に対して、i 行目・j 列目のマスに書き込まれている整数を Ai,j で表します。
あなたは次の操作を、何度でも行うことができます(一度も行わなくてもよいです)。
- 1leqileqH−1 かつ 1leqjleqW−1 を満たす整数 i,j を選ぶ。
- 整数 x をひとつ選ぶ。
- Ai,j, Ai,j+1, Ai+1,j, Ai+1,j+1 に x を加える。
操作後の sumi=1Hsumj=1W∣Ai,j∣ が最小となるように操作を行うとき、操作後の sumi=1Hsumj=1W∣Ai,j∣ の値および、そのときのマス目の状態を出力してください。
制約
- 2leqH,Wleq500
- ∣Ai,j∣leq109
入力
入力は以下の形式で標準入力から与えられます。
H W
A1,1 ldots A1,W
vdots
AH,1 ldots AH,W
出力
H+1 行出力してください。 1 行目には、sumi=1Hsumj=1W∣Ai,j∣ の値を出力してください。 2 行目から H+1 行目には、マス目の状態を以下の形式で出力してください。
A1,1 ldots A1,W
vdots
AH,1 ldots AH,W
条件を満たすマス目の状態が複数存在する場合は、どれを出力しても正解となります。
入力例 1
2 3
1 2 3
4 5 6
出力例 1
9
0 -3 -1
3 0 2
例えば次のように操作を行うと、出力例のマス目の状態になります。
- (i,j,x)=(1,1,−1) として操作を行う。
- (i,j,x)=(1,2,−4) として操作を行う。
このとき、$\\sum_{i=1}^H \\sum_{j=1}^W |A_{i,j}| = 0 + 3 + 1 + 3 + 0 + 2 = 9$ です。
入力例 2
2 2
1000000000 -1000000000
-1000000000 1000000000
出力例 2
4000000000
2000000000 0
0 2000000000
∣Ai,j∣>109 となるような操作も認められています。
入力例 3
3 4
0 2 0 -2
-3 -1 2 0
-3 -3 2 2
出力例 3
0
0 0 0 0
0 0 0 0
0 0 0 0