import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class Main {
static int map[][];
static int N;
static int M;
static int cnt;
public static void main
(String[] args
) { Scanner sc
= new Scanner
(System.
in);
N = sc.nextInt();
M = sc.nextInt();
map = new int[N][M];
for(int i =0 ; i<N; i++) {
for(int j=0; j<M; j++) {
map[i][j]=sc.nextInt();
}
}
cnt=0;
bfs(0,0);
}
static int[][] dir = {{1,0},{0,1},{1,1}};
private static void bfs(int x,int y) {
Queue<Pair> q = new LinkedList<>();
q.add(new Pair(x,y));
int max[][]= new int[N][M];
max[0][0]=map[0][0];
while(!q.isEmpty()) {
Pair p = q.poll();
for(int i=0;i<3;i++) {
int tx = p.x+dir[i][0];
int ty = p.y+dir[i][1];
if(tx<0 || ty<0 || tx>=N || ty>=M) continue;
if(map[tx][ty]+max[p.x][p.y]>max[tx][ty]) {
max[tx][ty]=map[tx][ty]+max[p.x][p.y];
q.add(new Pair(tx, ty));
}
}
}
cnt = max[N-1][M-1];
}
static class Pair{
private int y,x;
Pair(int x, int y){
this.y = y;
this.x = x;
}
}
}
aW1wb3J0IGphdmEudXRpbC5MaW5rZWRMaXN0OwppbXBvcnQgamF2YS51dGlsLlF1ZXVlOwppbXBvcnQgamF2YS51dGlsLlNjYW5uZXI7CgoKcHVibGljIGNsYXNzIE1haW4gewoJCXN0YXRpYyBpbnQgbWFwW11bXTsKCQlzdGF0aWMgaW50IE47CgkJc3RhdGljIGludCBNOwoJCXN0YXRpYyBpbnQgY250OwoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewoJCVNjYW5uZXIgc2MgPSBuZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwoJCQoJCU4gPSBzYy5uZXh0SW50KCk7CgkJTSA9IHNjLm5leHRJbnQoKTsKCQltYXAgPSBuZXcgaW50W05dW01dOwoJCWZvcihpbnQgaSA9MCA7IGk8TjsgaSsrKSB7CgkJCWZvcihpbnQgaj0wOyBqPE07IGorKykgewoJCQkJbWFwW2ldW2pdPXNjLm5leHRJbnQoKTsKCQkJfQoJCX0KCQljbnQ9MDsKCQliZnMoMCwwKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oY250KTsKCgl9CglzdGF0aWMgaW50W11bXSBkaXIgPSB7ezEsMH0sezAsMX0sezEsMX19OwoJcHJpdmF0ZSBzdGF0aWMgdm9pZCBiZnMoaW50IHgsaW50IHkpIHsKCQlRdWV1ZTxQYWlyPiBxID0gbmV3IExpbmtlZExpc3Q8PigpOwoJCXEuYWRkKG5ldyBQYWlyKHgseSkpOwoJCWludCBtYXhbXVtdPSBuZXcgaW50W05dW01dOwoJCW1heFswXVswXT1tYXBbMF1bMF07CgkJd2hpbGUoIXEuaXNFbXB0eSgpKSB7CgkJCVBhaXIgcCA9IHEucG9sbCgpOwoJCQlmb3IoaW50IGk9MDtpPDM7aSsrKSB7CgkJCQlpbnQgdHggPSBwLngrZGlyW2ldWzBdOwoJCQkJaW50IHR5ID0gcC55K2RpcltpXVsxXTsKCQkJCWlmKHR4PDAgfHwgdHk8MCB8fCB0eD49TiB8fCB0eT49TSkgY29udGludWU7CgkJCQlpZihtYXBbdHhdW3R5XSttYXhbcC54XVtwLnldPm1heFt0eF1bdHldKSB7CgkJCQkJbWF4W3R4XVt0eV09bWFwW3R4XVt0eV0rbWF4W3AueF1bcC55XTsKCQkJCQlxLmFkZChuZXcgUGFpcih0eCwgdHkpKTsKCQkJCX0KCQkJfQoJCX0KCQljbnQgPSBtYXhbTi0xXVtNLTFdOwoJCQoJfQoJc3RhdGljIGNsYXNzIFBhaXJ7CgkJcHJpdmF0ZSBpbnQgeSx4OwoKCQlQYWlyKGludCB4LCBpbnQgeSl7CgkJCXRoaXMueSA9IHk7CgkJCXRoaXMueCA9IHg7CgkJfQoJfQp9Cg==