#include<bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
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];
if (j > 0) a[i][j] += a[i][j - 1]; // prefix sum for i-th row
}
}
int ans = 0;
for (int i = 0; i < m; i++) { // fix i
for (int j = i + 1; j < m; j++) { // fix j
int sum = 0;
for (int k = 0; k < n; k++) { // iterate from first row
sum += a[k][j];
if (i > 0) sum -= a[k][i - 1];
ans = max(ans, sum);
if (sum < 0) sum = 0;
}
}
}
cout << ans;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiAgICBpbnQgbiwgbTsgY2luID4+IG4gPj4gbTsKICAgIHZlY3Rvcjx2ZWN0b3I8aW50PiA+IGEobiwgdmVjdG9yPGludD4obSkpOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IG07IGorKykgewogICAgICAgICAgICBjaW4gPj4gYVtpXVtqXTsKICAgICAgICAgICAgaWYgKGogPiAwKSBhW2ldW2pdICs9IGFbaV1baiAtIDFdOyAvLyBwcmVmaXggc3VtIGZvciBpLXRoIHJvdwogICAgICAgIH0KICAgIH0KICAgIGludCBhbnMgPSAwOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtOyBpKyspIHsgLy8gZml4IGkKICAgICAgICBmb3IgKGludCBqID0gaSArIDE7IGogPCBtOyBqKyspIHsgLy8gZml4IGoKICAgICAgICAgICAgaW50IHN1bSA9IDA7CiAgICAgICAgICAgIGZvciAoaW50IGsgPSAwOyBrIDwgbjsgaysrKSB7IC8vIGl0ZXJhdGUgZnJvbSBmaXJzdCByb3cKICAgICAgICAgICAgICAgIHN1bSArPSBhW2tdW2pdOwogICAgICAgICAgICAgICAgaWYgKGkgPiAwKSBzdW0gLT0gYVtrXVtpIC0gMV07CiAgICAgICAgICAgICAgICBhbnMgPSBtYXgoYW5zLCBzdW0pOwogICAgICAgICAgICAgICAgaWYgKHN1bSA8IDApIHN1bSA9IDA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBjb3V0IDw8IGFuczsKICAgIHJldHVybiAwOwp9