#arc135d. [arc135_d]Add to Square

[arc135_d]Add to Square

题目描述

我们有一个 HtimesWH \\times W 的网格,每个方格上都写有一个整数。对于 1leqileqH1\\leq i\\leq H1leqjleqW1\\leq j\\leq W,用 Ai,jA_{i,j} 表示第 ii 行第 jj 列方格上的整数。

你可以任意多次进行如下操作(也可以不进行操作)。

  • 选择整数 iijj,满足 1leqileqH11\\leq i\\leq H - 11leqjleqW11\\leq j\\leq W - 1
  • 选择另一个整数 xx
  • xx 加到 Ai,jA_{i,j}Ai,j+1A_{i,j+1}Ai+1,jA_{i+1,j}Ai+1,j+1A_{i+1,j+1} 上。

打印在进行操作后 sumi=1Hsumj=1WAi,j\\sum_{i=1}^H \\sum_{j=1}^W |A_{i,j}| 的最小可能值,以及达到该值时网格上的整数。

约束条件

  • 2leqH,Wleq5002\\leq H, W \\leq 500
  • Ai,jleq109|A_{i,j}|\\leq 10^9

输入

输入从标准输入给出,具体格式如下:

HH WW A1,1A_{1,1} ldots\\ldots A1,WA_{1,W} vdots\\vdots AH,1A_{H,1} ldots\\ldots AH,WA_{H,W}

输出

打印 H+1H + 1 行。第 11 行应包含 sumi=1Hsumj=1WAi,j\\sum_{i=1}^H \\sum_{j=1}^W |A_{i,j}| 的值。第 22 到第 (H+1)(H+1) 行应按照以下格式包含网格上的整数:

A1,1A_{1,1} ldots\\ldots A1,WA_{1,W} vdots\\vdots AH,1A_{H,1} ldots\\ldots AH,WA_{H,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, 1, -1) 进行操作。
  • (i,j,x)=(1,2,4)(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|A_{i,j}| > 10^9,也是可以的。


示例输入 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