#include<bits/stdc++.h>
using namespace std;
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
#define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update>
int main(){
ios_base::sync_with_stdio(0);
cin.tie(NULL);
cout.tie(NULL);
int n, m, i, j;
cin >> n >> m;
int arr[n][m];
int ans[n][m];
for(i = 0; i < n; i++)
for(j = 0; j < m; j++)
cin >> arr[i][j];
vector<ordered_set> row;
vector<ordered_set> col;
ordered_set myset;
myset.clear();
for(i = 0; i < m; i++){
myset.clear();
for(j = 0; j < n; j++)
myset.insert(arr[j][i]);
col.emplace_back(myset);
}
for(i = 0; i < n; i++){
myset.clear();
for(j = 0; j < m; j++)
myset.insert(arr[i][j]);
row.emplace_back(myset);
}
for(i = 0; i < n; i++){
for(j = 0; j < m; j++){
ans[i][j] = max(row[i].order_of_key(arr[i][j]), col[j].order_of_key(arr[i][j]));
ans[i][j] += max(row[i].size()-row[i].order_of_key(arr[i][j]), col[j].size() - col[j].order_of_key(arr[i][j]));
}
}
i = 1; j = 2;
// cout<<max(row[i].order_of_key(arr[i][j]), col[j].order_of_key(arr[i][j]))<<"\n";
// cout<<max(row[i].size()-row[i].order_of_key(arr[i][j]), col[j].size() - col[j].order_of_key(arr[i][j]))<<"\n";
// // cout<<col[2].size()-col[2].order_of_key(arr[1][2]);
for(auto it = col[j].begin(); it != col[j].end(); ++it)
cout<<*it<<" ";
cout<<"\n";
for(auto it = row[i].begin(); it != row[i].end(); ++it)
cout<<*it<<" ";
// for(i = 0; i < n; i++){
// for(j = 0; j < m; j++)
// cout<<ans[i][j]<<" ";
// cout<<"\n";
// }
// row.clear();
// col.clear();
// myset.clear();
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNpbmNsdWRlIDxleHQvcGJfZHMvYXNzb2NfY29udGFpbmVyLmhwcD4gCiNpbmNsdWRlIDxleHQvcGJfZHMvdHJlZV9wb2xpY3kuaHBwPiAKdXNpbmcgbmFtZXNwYWNlIF9fZ251X3BiZHM7IAoKI2RlZmluZSBvcmRlcmVkX3NldCB0cmVlPGludCwgbnVsbF90eXBlLGxlc3M8aW50PiwgcmJfdHJlZV90YWcsdHJlZV9vcmRlcl9zdGF0aXN0aWNzX25vZGVfdXBkYXRlPiAKCmludCBtYWluKCl7Cglpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwoJY2luLnRpZShOVUxMKTsKCWNvdXQudGllKE5VTEwpOwoJaW50IG4sIG0sIGksIGo7CgljaW4gPj4gbiA+PiBtOwoJaW50IGFycltuXVttXTsKCWludCBhbnNbbl1bbV07CgoJZm9yKGkgPSAwOyBpIDwgbjsgaSsrKQoJCWZvcihqID0gMDsgaiA8IG07IGorKykKCQkJY2luID4+IGFycltpXVtqXTsKCgl2ZWN0b3I8b3JkZXJlZF9zZXQ+IHJvdzsKCXZlY3RvcjxvcmRlcmVkX3NldD4gY29sOwoKCW9yZGVyZWRfc2V0IG15c2V0OwoJbXlzZXQuY2xlYXIoKTsKCQoJZm9yKGkgPSAwOyBpIDwgbTsgaSsrKXsKCQlteXNldC5jbGVhcigpOwoJCWZvcihqID0gMDsgaiA8IG47IGorKykKCQkJbXlzZXQuaW5zZXJ0KGFycltqXVtpXSk7CgkJY29sLmVtcGxhY2VfYmFjayhteXNldCk7Cgl9CgkKCWZvcihpID0gMDsgaSA8IG47IGkrKyl7CgkJbXlzZXQuY2xlYXIoKTsKCQlmb3IoaiA9IDA7IGogPCBtOyBqKyspCgkJCW15c2V0Lmluc2VydChhcnJbaV1bal0pOwoJCXJvdy5lbXBsYWNlX2JhY2sobXlzZXQpOwoJfQoJCglmb3IoaSA9IDA7IGkgPCBuOyBpKyspewoJCWZvcihqID0gMDsgaiA8IG07IGorKyl7CgkJCWFuc1tpXVtqXSA9IG1heChyb3dbaV0ub3JkZXJfb2Zfa2V5KGFycltpXVtqXSksIGNvbFtqXS5vcmRlcl9vZl9rZXkoYXJyW2ldW2pdKSk7CgkJCWFuc1tpXVtqXSArPSBtYXgocm93W2ldLnNpemUoKS1yb3dbaV0ub3JkZXJfb2Zfa2V5KGFycltpXVtqXSksIGNvbFtqXS5zaXplKCkgLSBjb2xbal0ub3JkZXJfb2Zfa2V5KGFycltpXVtqXSkpOwoJCX0KCX0KCWkgPSAxOyBqID0gMjsKCS8vIGNvdXQ8PG1heChyb3dbaV0ub3JkZXJfb2Zfa2V5KGFycltpXVtqXSksIGNvbFtqXS5vcmRlcl9vZl9rZXkoYXJyW2ldW2pdKSk8PCJcbiI7CgkvLyBjb3V0PDxtYXgocm93W2ldLnNpemUoKS1yb3dbaV0ub3JkZXJfb2Zfa2V5KGFycltpXVtqXSksIGNvbFtqXS5zaXplKCkgLSBjb2xbal0ub3JkZXJfb2Zfa2V5KGFycltpXVtqXSkpPDwiXG4iOwoJLy8gLy8gY291dDw8Y29sWzJdLnNpemUoKS1jb2xbMl0ub3JkZXJfb2Zfa2V5KGFyclsxXVsyXSk7Cglmb3IoYXV0byBpdCA9IGNvbFtqXS5iZWdpbigpOyBpdCAhPSBjb2xbal0uZW5kKCk7ICsraXQpCgkJY291dDw8Kml0PDwiICI7CgkJY291dDw8IlxuIjsKCWZvcihhdXRvIGl0ID0gcm93W2ldLmJlZ2luKCk7IGl0ICE9IHJvd1tpXS5lbmQoKTsgKytpdCkKCQljb3V0PDwqaXQ8PCIgIjsKCgkvLyBmb3IoaSA9IDA7IGkgPCBuOyBpKyspewoJLy8gCWZvcihqID0gMDsgaiA8IG07IGorKykKCS8vIAkJY291dDw8YW5zW2ldW2pdPDwiICI7CgkvLyAJY291dDw8IlxuIjsKCS8vIH0KCS8vIHJvdy5jbGVhcigpOwoJLy8gY29sLmNsZWFyKCk7CgkvLyBteXNldC5jbGVhcigpOwp9