func_code_string: #include <bits/stdc++.h>   using namespace std;   int main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     long long n, m;     cin >> n >> m;     long long a[n][m];     vector<long long> b(n);     for (int i = 0; i < n; i++) {       long long k = 0;       for (int j = 0; j < m; j++) {         cin >> a[i][j];         k += a[i][j];       }       b[i] = k;     }     if (n <= 4 || m <= 4) {       long long res = 0;       for (int i = 0; i < n; i++) res += b[i];       cout << res;       return 0;     }     vector<long long> c(m);     for (int j = 0; j < m; j++) {       long long k = 0;       for (int i = 0; i < n; i++) {         k += a[i][j];       }       c[j] = k;     }     long long res = 0;     vector<long long> d = b;     vector<long long> e = c;     sort(d.begin(), d.end());     sort(e.begin(), e.end());     res = max(d[n - 1] + d[n - 2] + d[n - 3] + d[n - 4],               e[m - 1] + e[m - 2] + e[m - 3] + e[m - 4]);     for (int i = 0; i < n; i++) {       vector<long long> f;       for (int j = 0; j < m; j++) {         f.push_back(c[j] - a[i][j]);       }       sort(f.begin(), f.end());       res = max(res, b[i] + f[m - 1] + f[m - 2] + f[m - 3]);     }     for (int j = 0; j < m; j++) {       vector<long long> f;       for (int i = 0; i < n; i++) {         f.push_back(b[i] - a[i][j]);       }       sort(f.begin(), f.end());       res = max(res, c[j] + f[n - 1] + f[n - 2] + f[n - 3]);     }     if (n <= m) {       for (int i = 0; i < n; i++) {         for (int l = i + 1; i < n; i++) {           vector<long long> f;           for (int j = 0; j < m; j++) {             f.push_back(c[j] - a[i][j] - a[l][j]);           }           sort(f.begin(), f.end());           res = max(res, b[i] + b[l] + f[m - 1] + f[m - 2]);         }       }     } else {       for (int j = 0; j < m; j++) {         for (int l = j + 1; j < m; j++) {           vector<long long> f;           for (int i = 0; i < n; i++) {             f.push_back(b[i] - a[i][j] - a[i][l]);           }           sort(f.begin(), f.end());           res = max(res, c[j] + c[l] + f[n - 1] + f[n - 2]);         }       }     }     cout << res;   }   