#include <bits/stdc++.h>
using namespace std;
long long h, w;
long long a[200][200];
long long dp[201][200][200];
long long ra[200][201];
signed main() {
  long long i, j, k, l, m;
  cin >> h >> w;
  if (h > 30 || w > 30) {
    return 0;
  }
  for (i = 0; i < h; i++)
    for (j = 0; j < w; j++) cin >> a[i][j];
  for (i = 0; i < w; i++)
    for (j = 0; j < h; j++) ra[i][j + 1] += ra[i][j] + a[j][i];
  for (i = 0; i <= w; i++) {
    for (j = 0; j < h; j++) {
      for (k = 0; k < h; k++) {
        dp[i][j][k] = -1145141919893810;
      }
    }
  }
  dp[0][0][0] = 0;
  for (i = 0; i < w; i++) {
    for (j = 0; j < h; j++) {
      for (k = j; k < h; k++) {
        for (l = j; l < h; l++) {
          for (m = max(l, k); m < h; m++) {
            long long cst =
                ra[i][l + 1] - ra[i][j] + ra[i][m + 1] - ra[i][max(l + 1, k)];
            dp[i + 1][l][m] = max(dp[i + 1][l][m], dp[i][j][k] + cst);
          }
        }
      }
    }
  }
  cout << dp[w][h - 1][h - 1] << endl;
  return 0;
}
