func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, m;   int a[1010][1010];   bool got[1010][1010];   bool ok(int x) {     memset(got, 0, sizeof(got));     for (int j = 0; j < m; j++) {       vector<int> vt;       for (int i = 0; i < n; i++)         if (a[i][j] >= x) vt.push_back(i);       for (int o = 0; o < vt.size(); o++)         for (int p = o + 1; p < vt.size(); p++)           if (got[vt[o]][vt[p]])             return true;           else             got[vt[o]][vt[p]] = true;     }     return false;   }   int t[1000010];   int main() {     int cnt = 0;     scanf( %d%d , &n, &m);     for (int i = 0; i < n; i++)       for (int j = 0; j < m; j++) {         scanf( %d , &a[i][j]);         t[cnt++] = a[i][j];       }     sort(t, t + n * m);     int l = 0, r = unique(t, t + n * m) - t - 1;     while (l < r) {       int m = (l + r + 1) >> 1;       if (ok(t[m]))         l = m;       else         r = m - 1;     }     printf( %d n , t[l]);     return 0;   }   