#P15739. 平衡矩阵修补

平衡矩阵修补

题目描述

研究员奈绪正在修补一张数值表。对于一个 N×NN\times N 的矩阵 AA,如果对所有 1i,jN11\le i,j\le N-1 都有

A[i][j]+A[i+1][j+1]=A[i+1][j]+A[i][j+1],A[i][j]+A[i+1][j+1]=A[i+1][j]+A[i][j+1],

则称 AA 是平衡矩阵。

现在给定一个 N×NN\times N 的矩阵 AA。你需要输出另一个同样大小的矩阵 BB,满足:

  • BB 是平衡矩阵;
  • 对所有 1i,jN1\le i,j\le N,都有
B[i][j]A[i][j];B[i][j]\ge A[i][j];
  • 在满足上述条件的所有矩阵中,BB 的所有元素之和尽可能小。

请输出任意一个满足要求且元素和最小的矩阵 BB

输入格式

第一行包含一个整数 NN,表示矩阵的行数和列数。

接下来 NN 行,每行包含 NN 个整数,描述矩阵 AA

输出格式

第一行输出一个整数,表示你找到的平衡矩阵 BB 的元素和。

接下来 NN 行,每行输出 NN 个整数,表示矩阵 BB

只要输出矩阵满足题目要求即可被接受。输出矩阵中元素的大小没有额外限制,特别地,它们可以超过 3500035000

数据范围

  • 1N501\le N\le 50
  • 0A[i][j]350000\le A[i][j]\le 35000

样例 1

输入

4
1 1 1 1
1 1 1 1
1 1 1 0
1 1 1 1

输出

16
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1