#include <iostream>
#include <algorithm>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
int cache[101][101] = {0};
int data[101][101] = {0};
int main()
{
int n, m;
cin >> n >> m;
for (int i=0; i<n; i++) {
for (int j=0; j<m; j++) {
cin >> data[i][j];
cache[i][j] = -99999;
}
}
for (int i=0; i<m; i++) {
cache[0][i] = data[0][i];
}
for (int i=1; i<n; i++) {
int ret = -99999;
for (int j=0; j<m; j++) {
ret = max(ret, cache[i-1][j]);
for (int k=j+1; k<m; k++) {
cache[i][k] = ret + data[i][k];
//ret = max(ret, cache[i-1][j] + data[i][k]);
}
//cache[i][j] = ret;
}
}
int ret = 0;
for (int i=0; i<m; i++)
ret = max(ret, cache[n-1][i]);
cout << ret << endl;
/*for (int i=0; i<n; i++) {
for (int j=0; j<m; j++) {
cout << data[i][j] << " ";
}
cout << endl;
}
cout << "-------------\n";
for (int i=0; i<n; i++) {
for (int j=0; j<m; j++) {
cout << cache[i][j] << " ";
}
cout << endl;
}*/
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgY2FjaGVbMTAxXVsxMDFdID0gezB9OwppbnQgZGF0YVsxMDFdWzEwMV0gID0gezB9OwoKaW50IG1haW4oKQp7CiAgICBpbnQgbiwgbTsKCgljaW4gPj4gbiA+PiBtOwoKCWZvciAoaW50IGk9MDsgaTxuOyBpKyspIHsKCQlmb3IgKGludCBqPTA7IGo8bTsgaisrKSB7CgkJCWNpbiA+PiBkYXRhW2ldW2pdOwoJCQljYWNoZVtpXVtqXSA9IC05OTk5OTsKCQl9Cgl9CgoJZm9yIChpbnQgaT0wOyBpPG07IGkrKykgewoJCWNhY2hlWzBdW2ldID0gZGF0YVswXVtpXTsKCX0KCgoJZm9yIChpbnQgaT0xOyBpPG47IGkrKykgewoJCWludCByZXQgPSAtOTk5OTk7CgkJZm9yIChpbnQgaj0wOyBqPG07IGorKykgewoJCQlyZXQgPSBtYXgocmV0LCBjYWNoZVtpLTFdW2pdKTsKCQkJZm9yIChpbnQgaz1qKzE7IGs8bTsgaysrKSB7CgkJCQljYWNoZVtpXVtrXSA9IHJldCArIGRhdGFbaV1ba107CgkJCQkvL3JldCA9IG1heChyZXQsIGNhY2hlW2ktMV1bal0gKyBkYXRhW2ldW2tdKTsKCQkJfQoJCQkvL2NhY2hlW2ldW2pdID0gcmV0OwoJCX0KCX0KCglpbnQgcmV0ID0gMDsKCWZvciAoaW50IGk9MDsgaTxtOyBpKyspCgkJcmV0ID0gbWF4KHJldCwgY2FjaGVbbi0xXVtpXSk7CgoJY291dCA8PCByZXQgPDwgZW5kbDsKCgkvKmZvciAoaW50IGk9MDsgaTxuOyBpKyspIHsKCQlmb3IgKGludCBqPTA7IGo8bTsgaisrKSB7CgkJCWNvdXQgPDwgZGF0YVtpXVtqXSA8PCAiICI7CgkJfQoJCWNvdXQgPDwgZW5kbDsKCX0KCWNvdXQgPDwgIi0tLS0tLS0tLS0tLS1cbiI7Cglmb3IgKGludCBpPTA7IGk8bjsgaSsrKSB7CgkJZm9yIChpbnQgaj0wOyBqPG07IGorKykgewoJCQljb3V0IDw8IGNhY2hlW2ldW2pdIDw8ICIgIjsKCQl9CgkJY291dCA8PCBlbmRsOwoJfSovCn0=