Type: Default 1000ms 256MiB

数据压缩

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

Description

小 yy 现在对数据压缩算法情有独钟。她已经学习了 gzgz、bzbz、zipzip 算法和许多其他算法。受新知识的启发,小yy 正在开发新的压缩算法,并将其命名为 disdis。

小yy 决定压缩表格。她得到了一个由 nn 行和 mm 列组成的表 aa,该表填充的是正整数。她想建立一个由正整数组成的表 a′a',使每行和每列中元素的相对顺序保持不变。也就是说,如果初始表的某一行 ii 中有 ai,j<ai,ka_{i,j} < a_{i,k},那么生成表中就有 ai,j′<ai,k′a'_{i,j} < a'_{i,k},如果有 ai,j=ai,ka_{i,j} = a_{i,k},那么生成表中就有 ai,j′=ai,k′a'_{i,j} = a'_{i,k}。同样,如果初始表的某列 jj 中有 ai,j<ap,ja_{i,j} < a_{p,j} ,那么压缩表中有 ai,j′<ap,j′a'_{i,j} < a'_{p,j},如果有 ai,j=ap,ja_{i,j} = a_{p,j},那么有 ai,j′=ap,j′a'_{i,j} = a'_{p,j}。

由于大值需要更多空间来存储,因此 a′a' 中的最大值应尽可能小。

小yy 的理论很好,但她需要你的帮助来实现算法。

Format

Input

输入的第一行包含两个整数 nn 和 mm (1≤n,m1 \le n, m 且 n×m≤1 000 000n \times m \le 1\,000\,000),分别是表格的行数和列数。
接下来 nn 行,每行包含 mm 个整数 ai,ja_{i,j}(1≤ai,j≤1091 \le a_{i,j} \le 10^9),表示表格中的值。

Output

以 nn 行的形式输出压缩表,每行包含 mm 个整数。 如果存在多个答案,而压缩表中的最大数字是可能的最小值,则允许输出其中任何一个答案。

Samples

2 2
1 2
3 4
1 2
2 3
4 3
20 10 30
50 40 30
50 60 70
90 80 70

2 1 3
5 4 3
5 6 7
9 8 7

SDNU_ACM_ICPC_2025秋季结训赛

Not Attended
Status
Done
Rule
XCPC
Problem
12
Start at
2025-12-28 9:00
End at
2025-12-28 14:00
Duration
5 hour(s)
Host
Partic.
37