func_code_string: #include <bits/stdc++.h>   using namespace std;   using ll = long long;   using pii = pair<int, int>;   using pll = pair<ll, ll>;   using ld = long double;   const int mod = 1e9 + 7;   const ll inf = 2e9;   const ll INF = 2e18;   const ld EPS = 1e-7;   const int N = 1e5 + 55;   ll sx[N], sy[N];   void solve() {     int n, m;     cin >> n >> m;     vector<vector<int>> a(n, vector<int>(m));     for (int i = 0; i < n; ++i) {       for (int j = 0; j < m; ++j) {         cin >> a[i][j];         sx[i] += a[i][j];         sy[j] += a[i][j];       }     }     ll mx = 0;     vector<ll> v;     for (int i = 0; i < n; ++i) {       v.clear();       for (int j = 0; j < m; ++j) {         v.push_back(sy[j] - a[i][j]);         sort(v.rbegin(), v.rend());         while (v.size() > 3) {           v.pop_back();         }       }       ll cur = sx[i];       for (ll a : v) {         cur += a;       }       mx = max(mx, cur);     }     for (int j = 0; j < m; ++j) {       v.clear();       for (int i = 0; i < n; ++i) {         v.push_back(sx[i] - a[i][j]);         sort(v.rbegin(), v.rend());         while (v.size() > 3) {           v.pop_back();         }       }       ll cur = sy[j];       for (ll a : v) {         cur += a;       }       mx = max(mx, cur);     }     if (n > m) {       for (int i = 0; i < m; ++i) {         for (int k = i + 1; k < m; ++k) {           v.clear();           for (int j = 0; j < n; ++j) {             v.push_back(sx[j] - a[j][i] - a[j][k]);             sort(v.rbegin(), v.rend());             while (v.size() > 2) {               v.pop_back();             }           }           ll cur = sy[i] + sy[k];           for (ll a : v) {             cur += a;           }           mx = max(mx, cur);         }       }     } else {       for (int i = 0; i < n; ++i) {         for (int k = i + 1; k < n; ++k) {           v.clear();           for (int j = 0; j < m; ++j) {             v.push_back(sy[j] - a[i][j] - a[k][j]);             sort(v.rbegin(), v.rend());             while (v.size() > 2) {               v.pop_back();             }           }           ll cur = sx[i] + sx[k];           for (ll a : v) {             cur += a;           }           mx = max(mx, cur);         }       }     }     sort(sx, sx + n);     sort(sy, sy + m);     for (ll i = n - 1, sum = 0; i >= max(0, n - 4); --i) {       sum += sx[i];       mx = max(mx, sum);     }     for (ll i = m - 1, sum = 0; i >= max(0, m - 4); --i) {       sum += sy[i];       mx = max(mx, sum);     }     cout << mx;   }   int main() {     ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);     ;     int tt = 1;     while (tt--) {       solve();       cout <<   n ;     }   }   