别人家的孩子
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

“看看别人家的孩子!再看看你!”一些家长在教育孩子时会说这句话。然而,他们口中“别人家的孩子”,通常只是他们幻想出来的、集其他孩子优点于一身的“完美孩子”形象,在现实中并不存在。比方说,如果“别人家的孩子 A”聪明、不强壮、不美丽,“别人家的孩子 B”不聪明、强壮、不美丽,“别人家的孩子 C”不聪明、不强壮、美丽,那么在这些家长口中,“别人家的孩子”将会是一个又聪明、又强壮、又美丽的人。

假设这类家长见到了 n 个“别人家的孩子”,每个孩子都有 m 个属性,第 i 个孩子的第 j 个属性值为 a_{i, j}1 \le i \le n1 \le j \le m)。请你模仿这类家长,对每个属性取最大值,构建这样一个“完美孩子”形象,指出其各属性值。

输入描述:

输入第一行包含用空格隔开的两个整数 nm1 \le n \le m \le 100),表示“别人家的孩子”的数量和属性的数量。

接下来 n 行中,第 i 行包含用空格隔开的 m 个整数 a_{i, 1}, a_{i, 2}, \dots, a_{i, m}1 \le i \le n1 \le a_{i, j} \le 10^9),表示属性值。

输出描述:

输出一行,包含用空格隔开的 m 个整数,表示“完美孩子”形象的第 12、……、m 个属性值。
示例1

输入

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

输出

复制
4 6 9