#include using namespace std; const int N = 51; int n, m, f[N][N][N][N], a[N][N], x; int main() { int i1, i2, j1, j2; cin >> n >> m; for (int i = 1; i <= n; i++) for (int j = 1; j <= m; j++) cin >> a[i][j]; for (i1 = 1; i1 <= n; i1++) for (j1 = 1; j1 <= m; j1++) for (i2 = 1; i2 <= n; i2++) for (j2 = 1; j2 <= m; j2++) { int x = 0; x = max(x, f[i1][j1 - 1][i2][j2 - 1]); x = max(x, f[i1 - 1][j1][i2 - 1][j2]); x = max(x, f[i1][j1 - 1][i2 - 1][j2]); x = max(x, f[i1 - 1][j1][i2][j2 - 1]); if (i1 == i2 && j1 == j2) f[i1][j1][i2][j2] = x + a[i1][j1]; else f[i1][j1][i2][j2] = x + a[i1][j1] + a[i2][j2]; } cout << f[n][m][n][m]; return 0; }