#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 < n; i++){
myset.clear();
for(j = 0; j < m; j++)
myset.insert(arr[i][j]);
row.emplace_back(myset);
}
for(i = 0; i < m; i++){
myset.clear();
for(j = 0; j < n; j++)
myset.insert(arr[i][j]);
col.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<<" ";
// 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+IHJvdzsKCXZlY3RvcjxvcmRlcmVkX3NldD4gY29sOwoKCW9yZGVyZWRfc2V0IG15c2V0OwoJbXlzZXQuY2xlYXIoKTsKCQoJZm9yKGkgPSAwOyBpIDwgbjsgaSsrKXsKCQlteXNldC5jbGVhcigpOwoJCWZvcihqID0gMDsgaiA8IG07IGorKykKCQkJbXlzZXQuaW5zZXJ0KGFycltpXVtqXSk7CgkJcm93LmVtcGxhY2VfYmFjayhteXNldCk7Cgl9Cglmb3IoaSA9IDA7IGkgPCBtOyBpKyspewoJCW15c2V0LmNsZWFyKCk7CgkJZm9yKGogPSAwOyBqIDwgbjsgaisrKQoJCQlteXNldC5pbnNlcnQoYXJyW2ldW2pdKTsKCQljb2wuZW1wbGFjZV9iYWNrKG15c2V0KTsKCX0KCWZvcihpID0gMDsgaSA8IG47IGkrKyl7CgkJZm9yKGogPSAwOyBqIDwgbTsgaisrKXsKCQkJYW5zW2ldW2pdID0gbWF4KHJvd1tpXS5vcmRlcl9vZl9rZXkoYXJyW2ldW2pdKSwgY29sW2pdLm9yZGVyX29mX2tleShhcnJbaV1bal0pKTsKCQkJYW5zW2ldW2pdICs9IG1heChyb3dbaV0uc2l6ZSgpLXJvd1tpXS5vcmRlcl9vZl9rZXkoYXJyW2ldW2pdKSwgY29sW2pdLnNpemUoKSAtIGNvbFtqXS5vcmRlcl9vZl9rZXkoYXJyW2ldW2pdKSk7CgkJfQoJfQoJaSA9IDE7IGogPSAyOwoJLy8gY291dDw8bWF4KHJvd1tpXS5vcmRlcl9vZl9rZXkoYXJyW2ldW2pdKSwgY29sW2pdLm9yZGVyX29mX2tleShhcnJbaV1bal0pKTw8IlxuIjsKCS8vIGNvdXQ8PG1heChyb3dbaV0uc2l6ZSgpLXJvd1tpXS5vcmRlcl9vZl9rZXkoYXJyW2ldW2pdKSwgY29sW2pdLnNpemUoKSAtIGNvbFtqXS5vcmRlcl9vZl9rZXkoYXJyW2ldW2pdKSk8PCJcbiI7CgkvLyAvLyBjb3V0PDxjb2xbMl0uc2l6ZSgpLWNvbFsyXS5vcmRlcl9vZl9rZXkoYXJyWzFdWzJdKTsKCWZvcihhdXRvIGl0ID0gY29sW2pdLmJlZ2luKCk7IGl0ICE9IGNvbFtqXS5lbmQoKTsgKytpdCkKCQljb3V0PDwqaXQ8PCIgIjsKCgkvLyBmb3IoaSA9IDA7IGkgPCBuOyBpKyspewoJLy8gCWZvcihqID0gMDsgaiA8IG07IGorKykKCS8vIAkJY291dDw8YW5zW2ldW2pdPDwiICI7CgkvLyAJY291dDw8IlxuIjsKCS8vIH0KCS8vIHJvdy5jbGVhcigpOwoJLy8gY29sLmNsZWFyKCk7CgkvLyBteXNldC5jbGVhcigpOwp9