const
fi='';
op=-10000;
var f:array[1..100,1..100] of longint;
a:array[0..100,0..100] of longint;
n,m:longint;
procedure enter;
var i,j:longint;
f:text;
begin
assign(f,fi);
reset(f);
readln(f,n,m);
for i:=1 to n do
begin
for j:=1 to m do read(f,a[i,j]);
readln(f);
end;
close(f);
end;
function max(a,b,c:longint):longint;
begin
if a>b then max:=a else max:=b;
if max<c then max:=c;
end;
function find(i,j:longint):longint;
begin
if (i=0) or (j=0) then exit(op);
if (i>n) then exit(op);
if j=1 then exit(a[i,j]);
if f[i,j]<>-1 then exit(f[i,j]);
f[i,j]:=max(find(i-1,j-1),find(i+1,j-1),find(i,j-1))+a[i,j];
exit(f[i,j]);
end;
procedure solve;
var i,j:longint;
begin
fillchar(f,sizeof(f),$FF);
write(find(n,m));
end;
begin
enter;
solve;
readln;
end.
Y29uc3QKICAgICAgICAgICAgICAgIGZpPScnOwogICAgICAgICAgICAgICAgb3A9LTEwMDAwOwp2YXIgICAgICAgICAgICAgZjphcnJheVsxLi4xMDAsMS4uMTAwXSBvZiBsb25naW50OwogICAgICAgICAgICAgICAgYTphcnJheVswLi4xMDAsMC4uMTAwXSBvZiBsb25naW50OwogICAgICAgICAgICAgICAgbixtOmxvbmdpbnQ7CnByb2NlZHVyZSAgICAgICBlbnRlcjsKdmFyICAgICAgICAgICAgIGksajpsb25naW50OwogICAgICAgICAgICAgICAgZjp0ZXh0OwpiZWdpbgogICAgICAgICAgICAgICAgYXNzaWduKGYsZmkpOwogICAgICAgICAgICAgICAgcmVzZXQoZik7CiAgICAgICAgICAgICAgICByZWFkbG4oZixuLG0pOwogICAgICAgICAgICAgICAgZm9yIGk6PTEgdG8gbiBkbwogICAgICAgICAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBqOj0xIHRvIG0gZG8gcmVhZChmLGFbaSxqXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGxuKGYpOwogICAgICAgICAgICAgICAgICAgICAgICBlbmQ7CiAgICAgICAgICAgICAgICBjbG9zZShmKTsKZW5kOwpmdW5jdGlvbiAgICAgICAgbWF4KGEsYixjOmxvbmdpbnQpOmxvbmdpbnQ7CmJlZ2luCiAgICAgICAgICAgICAgICBpZiBhPmIgdGhlbiBtYXg6PWEgZWxzZSBtYXg6PWI7CiAgICAgICAgICAgICAgICBpZiBtYXg8YyB0aGVuIG1heDo9YzsKZW5kOwpmdW5jdGlvbiAgICAgIGZpbmQoaSxqOmxvbmdpbnQpOmxvbmdpbnQ7CmJlZ2luCiAgICAgICAgICAgICAgICBpZiAoaT0wKSBvciAoaj0wKSB0aGVuIGV4aXQob3ApOwogICAgICAgICAgICAgICAgaWYgKGk+bikgdGhlbiBleGl0KG9wKTsKICAgICAgICAgICAgICAgIGlmIGo9MSB0aGVuIGV4aXQoYVtpLGpdKTsKICAgICAgICAgICAgICAgIGlmIGZbaSxqXTw+LTEgdGhlbiBleGl0KGZbaSxqXSk7CiAgICAgICAgICAgICAgICBmW2ksal06PW1heChmaW5kKGktMSxqLTEpLGZpbmQoaSsxLGotMSksZmluZChpLGotMSkpK2FbaSxqXTsKICAgICAgICAgICAgICAgIGV4aXQoZltpLGpdKTsKZW5kOwpwcm9jZWR1cmUgICAgICAgc29sdmU7CnZhciAgICAgICAgICAgICBpLGo6bG9uZ2ludDsKYmVnaW4KICAgICAgICAgICAgICAgIGZpbGxjaGFyKGYsc2l6ZW9mKGYpLCRGRik7CiAgICAgICAgICAgICAgICB3cml0ZShmaW5kKG4sbSkpOwplbmQ7CmJlZ2luCiAgICAgICAgICAgICAgICBlbnRlcjsKICAgICAgICAgICAgICAgIHNvbHZlOwogICAgICAgICAgICAgICAgcmVhZGxuOwplbmQuCgo=