#include <bits/stdc++.h>
/**------------------------------------------
---------Author: PhcKhnhTapCode -------------
---------From: CHV with luv <3 --------------
---------Training To Win Voi 25 !!! ---------
---------------------------------------------
------------------MemoryLimitExeeded<ooo>-**/
using namespace std;
#ifdef phckhnh_local
#include "D:\Users\AdminTCT\Desktop\CP\debug.h"
#else
#define debug(...) 0
#endif
#define ll long long
#define db long double
#define fi first
#define se second
#define ii pair<int,int>
#define vi vector<int>
#define vii vector<ii>
#define vvi vector<vi>
#define vvvi vector<vvi>
#define pub push_back
#define all(v) v.begin(),v.end()
#define mid(l, r) ((l + r) >> 1LL)
#define left(id) (id << 1LL)
#define right(id) ((id << 1LL) | 1LL)
#define Mask(i) (1LL << (i))
#define Onbit(n, i) (n | Mask(i))
#define Ofbit(n, i) (n ^ Mask(i))
#define Bit(n, i) ((n >> (i)) & 1LL)
#define Log2(n) (63 - __builtin_clzll(n))
#define Cntbit(n) __builtin_popcountll(n)
#define FOR(i, a, b) for (int i = a; i <= b; ++i)
#define FOD(i, b, a) for (int i = b; i >= a; --i)
#define rep(i, n) for (int i = 0; i < n; ++i)
#define repd(i, n) for (int i = n - 1; ~i;--i)
#define repv(v, H) for (auto &v: H)
template <class T> bool maximize(T &A, const T &B) {if(A < B) {return A = B, true;} return false;}
template <class T> bool minimize(T &A, const T &B) {if(A > B) {return A = B, true;} return false;}
namespace std {
template <int D, typename T> struct Vec : public vector<Vec<D - 1, T>> {
static_assert(D >= 1, "Dimension must be positive");
template <typename... Args>
Vec(int n = 0, Args... args) : vector<Vec<D - 1, T>>(n, Vec<D - 1, T>(args...)) {}
};
template <typename T> struct Vec<1, T> : public vector<T> {
Vec(int n = 0, T val = T()) : std::vector<T>(n, val) {}
};
}
const int dx[4] = {0, +1, 0, -1};
const int dy[4] = {+1, 0, -1, 0};
const int inf = 1e9, BLOCK = 700, MAXN = 5e5 + 10;
const long long oo = 1e18, BASE = 311, MOD = 1e9 + 7;
//____________________________________________________________________
int n, m;
int a[MAXN][8];
int cnt[Mask(8) + 1];
int full_mask;
ii sav;
bool check(int val) {
rep(mask, Mask(m)) cnt[mask] = 0;
for (int i = 1; i <= n; ++i) {
int value = 0;
rep(j, m) if(a[i][j] >= val)
value = Onbit(value, j);
cnt[value] = i;
}
rep(mask1, Mask(m)) {
if(cnt[mask1] == 0) continue;
rep(mask2, Mask(m)) {
if(cnt[mask2] && (mask1 | mask2) == full_mask) {
// sav = {cnt[mask1, cnt[mask2]]};
return true;
}
}
}
return false;
}
void phckhnh() {
cin >> n >> m;
full_mask = Mask(m) - 1;
for (int i = 1; i <= n; ++i) {
rep(j, m) cin >> a[i][j];
}
int l = 0, r = 1000000001;
while(r - l > 1) {
int mid = (l + r) >> 1;
if(check(mid)) l = mid;
else r = mid;
}
cout << l ;
}
//____________________________________________________________________
main(){
//____________________________________________________
ios_base :: sync_with_stdio(false);
cin.tie(nullptr); cout.tie(nullptr);
#define ooo "a"
if (fopen(ooo".inp", "r")) {
freopen(ooo".inp", "r", stdin);
freopen(ooo".out", "w", stdout);
}
//____________________________________________________
int Ntest = 1;
// cin >> Ntest;
while(Ntest--) {
phckhnh();
cout << endl;
}
cerr <<"\nPhcKhnh's TimeRun: " << (1.0 * clock() / CLOCKS_PER_SEC) << "s. \n";
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgovKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0tLS0tLS0tQXV0aG9yOiBQaGNLaG5oVGFwQ29kZSAtLS0tLS0tLS0tLS0tCi0tLS0tLS0tLUZyb206IENIViB3aXRoIGx1diA8MyAtLS0tLS0tLS0tLS0tLQotLS0tLS0tLS1UcmFpbmluZyBUbyBXaW4gVm9pIDI1ICEhISAtLS0tLS0tLS0gCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLS0tLS0tLS0tLS0tLS0tLS1NZW1vcnlMaW1pdEV4ZWVkZWQ8b29vPi0qKi8KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojaWZkZWYgcGhja2huaF9sb2NhbAogICAjaW5jbHVkZSAiRDpcVXNlcnNcQWRtaW5UQ1RcRGVza3RvcFxDUFxkZWJ1Zy5oIgojZWxzZQogICAjZGVmaW5lIGRlYnVnKC4uLikgMAojZW5kaWYKCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZGIgbG9uZyBkb3VibGUKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIGlpIHBhaXI8aW50LGludD4KCiNkZWZpbmUgdmkgdmVjdG9yPGludD4KI2RlZmluZSB2aWkgdmVjdG9yPGlpPgojZGVmaW5lIHZ2aSB2ZWN0b3I8dmk+CiNkZWZpbmUgdnZ2aSB2ZWN0b3I8dnZpPgojZGVmaW5lIHB1YiBwdXNoX2JhY2sKI2RlZmluZSBhbGwodikgdi5iZWdpbigpLHYuZW5kKCkKCiNkZWZpbmUgbWlkKGwsIHIpICgobCArIHIpID4+IDFMTCkKI2RlZmluZSBsZWZ0KGlkKSAgKGlkIDw8IDFMTCkKI2RlZmluZSByaWdodChpZCkgKChpZCA8PCAxTEwpIHwgMUxMKQoKI2RlZmluZSBNYXNrKGkpICgxTEwgPDwgKGkpKQojZGVmaW5lIE9uYml0KG4sIGkpIChuIHwgTWFzayhpKSkKI2RlZmluZSBPZmJpdChuLCBpKSAobiBeIE1hc2soaSkpCiNkZWZpbmUgQml0KG4sIGkpICgobiA+PiAoaSkpICYgMUxMKQojZGVmaW5lIExvZzIobikgKDYzIC0gX19idWlsdGluX2NsemxsKG4pKQojZGVmaW5lIENudGJpdChuKSBfX2J1aWx0aW5fcG9wY291bnRsbChuKQoKI2RlZmluZSBGT1IoaSwgYSwgYikgIGZvciAoaW50IGkgPSBhOyBpIDw9IGI7ICsraSkgCiNkZWZpbmUgRk9EKGksIGIsIGEpIGZvciAoaW50IGkgPSBiOyBpID49IGE7IC0taSkKI2RlZmluZSByZXAoaSwgbikgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKQojZGVmaW5lIHJlcGQoaSwgbikgZm9yIChpbnQgaSA9IG4gLSAxOyB+aTstLWkpCiNkZWZpbmUgcmVwdih2LCBIKSBmb3IgKGF1dG8gJnY6IEgpCgp0ZW1wbGF0ZSA8Y2xhc3MgVD4gYm9vbCBtYXhpbWl6ZShUICZBLCBjb25zdCBUICZCKSB7aWYoQSA8IEIpIHtyZXR1cm4gQSA9IEIsIHRydWU7fSByZXR1cm4gZmFsc2U7fQp0ZW1wbGF0ZSA8Y2xhc3MgVD4gYm9vbCBtaW5pbWl6ZShUICZBLCBjb25zdCBUICZCKSB7aWYoQSA+IEIpIHtyZXR1cm4gQSA9IEIsIHRydWU7fSByZXR1cm4gZmFsc2U7fQoKbmFtZXNwYWNlIHN0ZCB7CiAgICB0ZW1wbGF0ZSA8aW50IEQsIHR5cGVuYW1lIFQ+IHN0cnVjdCBWZWMgOiBwdWJsaWMgdmVjdG9yPFZlYzxEIC0gMSwgVD4+IHsKICAgICAgICBzdGF0aWNfYXNzZXJ0KEQgPj0gMSwgIkRpbWVuc2lvbiBtdXN0IGJlIHBvc2l0aXZlIik7CiAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIEFyZ3M+CiAgICAgICAgVmVjKGludCBuID0gMCwgQXJncy4uLiBhcmdzKSA6IHZlY3RvcjxWZWM8RCAtIDEsIFQ+PihuLCBWZWM8RCAtIDEsIFQ+KGFyZ3MuLi4pKSB7fQogICAgfTsKICAgICAKICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBzdHJ1Y3QgVmVjPDEsIFQ+IDogcHVibGljIHZlY3RvcjxUPiB7CiAgICAgICAgVmVjKGludCBuID0gMCwgVCB2YWwgPSBUKCkpIDogc3RkOjp2ZWN0b3I8VD4obiwgdmFsKSB7fQogICAgfTsKfQoKY29uc3QgaW50IGR4WzRdID0gezAsICsxLCAwLCAtMX07CmNvbnN0IGludCBkeVs0XSA9IHsrMSwgMCwgLTEsIDB9Owpjb25zdCBpbnQgaW5mID0gMWU5LCBCTE9DSyA9IDcwMCwgTUFYTiA9IDVlNSArIDEwOwpjb25zdCBsb25nIGxvbmcgb28gPSAxZTE4LCBCQVNFID0gMzExLCBNT0QgPSAxZTkgKyA3OwovL19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fIAoKaW50IG4sIG07CmludCBhW01BWE5dWzhdOwppbnQgY250W01hc2soOCkgKyAxXTsKaW50IGZ1bGxfbWFzazsKaWkgc2F2OwoKCmJvb2wgY2hlY2soaW50IHZhbCkgewogICAgcmVwKG1hc2ssIE1hc2sobSkpIGNudFttYXNrXSA9IDA7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyArK2kpIHsKICAgICAgICBpbnQgdmFsdWUgPSAwOwogICAgICAgIHJlcChqLCBtKSBpZihhW2ldW2pdID49IHZhbCkgCiAgICAgICAgICAgIHZhbHVlID0gT25iaXQodmFsdWUsIGopOwogICAgICAgIGNudFt2YWx1ZV0gPSBpOwogICAgfQoKICAgIHJlcChtYXNrMSwgTWFzayhtKSkgewogICAgICAgIGlmKGNudFttYXNrMV0gPT0gMCkgY29udGludWU7CiAgICAgICAgcmVwKG1hc2syLCBNYXNrKG0pKSB7CiAgICAgICAgICAgIGlmKGNudFttYXNrMl0gJiYgKG1hc2sxIHwgbWFzazIpID09IGZ1bGxfbWFzaykgewogICAgICAgICAgICAgICAgLy8gc2F2ID0ge2NudFttYXNrMSwgY250W21hc2syXV19OwogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9IAogICAgfQogICAgcmV0dXJuIGZhbHNlOwp9Cgp2b2lkIHBoY2tobmgoKSB7ICAgIAogICAgY2luID4+IG4gPj4gbTsKICAgIGZ1bGxfbWFzayA9IE1hc2sobSkgLSAxOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgKytpKSB7CiAgICAgICAgcmVwKGosIG0pIGNpbiA+PiBhW2ldW2pdOwogICAgfQogICAgCiAgICBpbnQgbCA9IDAsIHIgPSAxMDAwMDAwMDAxOwogICAgd2hpbGUociAtIGwgPiAxKSB7CiAgICAgICAgaW50IG1pZCA9IChsICsgcikgPj4gMTsKICAgICAgICBpZihjaGVjayhtaWQpKSBsID0gbWlkOwogICAgICAgICAgICBlbHNlIHIgPSBtaWQ7CiAgICB9CiAgICBjb3V0IDw8IGwgOwp9Ci8vX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KCgoKbWFpbigpeyAgIAogICAgLy9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAKICAgIGlvc19iYXNlIDo6IHN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IAogICAgY2luLnRpZShudWxscHRyKTsgY291dC50aWUobnVsbHB0cik7CiAgICAjZGVmaW5lIG9vbyAiYSIKICAgIGlmIChmb3Blbihvb28iLmlucCIsICJyIikpIHsKICAgICAgICBmcmVvcGVuKG9vbyIuaW5wIiwgInIiLCBzdGRpbik7IAogICAgICAgIGZyZW9wZW4ob29vIi5vdXQiLCAidyIsIHN0ZG91dCk7CiAgICB9CiAgICAvL19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gIAogICAgaW50IE50ZXN0ID0gMTsgCiAgICAvLyBjaW4gPj4gTnRlc3Q7CiAgICB3aGlsZShOdGVzdC0tKSB7CiAgICAgICAgcGhja2huaCgpOyAKICAgICAgICBjb3V0IDw8IGVuZGw7CiAgICB9CiAgICBjZXJyIDw8IlxuUGhjS2huaCdzIFRpbWVSdW46ICIgPDwgKDEuMCAqIGNsb2NrKCkgLyBDTE9DS1NfUEVSX1NFQykgPDwgInMuIFxuIjsKfQo=