#include <iostream>
#include <algorithm>
using namespace std;
int a[4][5];
int main() {
for(int i = 0; i < 4; i ++){
for(int j = 0; j < 5; j++){
cin>>a[i][j];
}
}
int b[5][4];
for(int i = 0; i < 5; i ++){
for(int j = 0; j < 4; j ++){
b[i][j] = a[j][i];//列转行,方便排序。
}
}
for(int i = 0; i < 5; i++){
sort(b[i], (b[i] + 4), greater<int>());//b行排序,即对a列排序;
}
int c[10];//统计a中每列中最大的两个数,按次序录入。
int count = 0;
int i, j;
for(i = 0; i < 5; i ++){
for(j = 0; j < 4; j ++){
if(a[j][i] >= b[i][1])//对列遍历,大于等于第二大的数录入
c[count++] = a[j][i];
}
if(c[2 * i + 1] == b[i][1] && (b[i][1] == b[i][2] )){
c[2 * i + 1] = b[i][0];//由于列中有相同的第二大的数,导致最大值未录入数组c中情况,重新录入。
count--;//count计入错误,-1
}
}
for(int i = 0; i < 5; i ++){
cout<<c[2 * i]<<' ';
}
cout<<endl;
for(int i = 0; i < 5; i ++){
cout<<c[2 * i + 1]<<' ';
}
}
// 64 位输出请用 printf("%lld")