#include <iostream>
using namespace std;
int main() {
int matrix[4][5];
for (int i = 0; i < 4; i++)
for (int j = 0; j < 5; j++)
cin >> matrix[i][j];
int ans[2][5] = {0};
for (int j = 0; j < 5; j++) {
int q = 0; // 用来控制ans的输入列数
for (int i = 0; i < 4; i++) {
int count = 0, t = 3; // count:计数器,统计当前值大于几个同列其他值;t:和另外‘3’个值比较
while (t--)
if (matrix[i][j] >= matrix[(i + 1 + t) % 4][j]) // 比较同一列,选出最大的两个放入ans
count++;
if (count >= 2) {
if (q >= 2 && ans[1][j] < matrix[i][j]) // 如果出现相同值,q会>=2,此时若后出现的值大于上一个保存到ans的值,则更改ans,否则不变
ans[1][j] = matrix[i][j];
ans[q][j] = matrix[i][j];
q++;
}
}
}
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 5; j++)
cout << ans[i][j] << " ";
cout << endl;
}
}