#include <iostream>
using namespace std;
const int f = 2000;
long long a[f][f];
int main() {
int m, n;
cin >> m >> n;
for (int i = 0; i < m; i++)
for (int j = 0; j < n; j++)
cin >> a[i][j];
long long v = -1e18;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
long long h = 0;
int x = i, y = j;
while (x < m && y < n)
h += a[x++][y++];
x = i - 1; y = j + 1;
while (x >= 0 && y < n)
h += a[x--][y++];
v = max(v, h);
}
}
cout << v << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IGYgPSAyMDAwOwpsb25nIGxvbmcgYVtmXVtmXTsKCmludCBtYWluKCkgewogICAgaW50IG0sIG47CiAgICBjaW4gPj4gbSA+PiBuOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbTsgaSsrKQogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgbjsgaisrKQogICAgICAgICAgICBjaW4gPj4gYVtpXVtqXTsKCiAgICBsb25nIGxvbmcgdiA9IC0xZTE4OwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbTsgaSsrKSB7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBuOyBqKyspIHsKICAgICAgICAgICAgbG9uZyBsb25nIGggPSAwOwogICAgICAgICAgICBpbnQgeCA9IGksIHkgPSBqOwogICAgICAgICAgICB3aGlsZSAoeCA8IG0gJiYgeSA8IG4pCiAgICAgICAgICAgICAgICBoICs9IGFbeCsrXVt5KytdOwogICAgICAgICAgICB4ID0gaSAtIDE7IHkgPSBqICsgMTsKICAgICAgICAgICAgd2hpbGUgKHggPj0gMCAmJiB5IDwgbikKICAgICAgICAgICAgICAgIGggKz0gYVt4LS1dW3krK107CgogICAgICAgICAgICB2ID0gbWF4KHYsIGgpOwogICAgICAgIH0KICAgIH0KCiAgICBjb3V0IDw8IHYgPDwgZW5kbDsKICAgIHJldHVybiAwOwp9Cg==