#yukicoder409B from collections import deque as dq #入力受取 H,W=map(int,input().split()) A=[[0]*(W+3)]+[[0]+list(map(int,input().split()))+[0]*2 for _ in range(H)]+[[0]*(W+3)]*2 #biimは4方向(テンキー1236方向)にのみ撃てればOK 撃つべき位置を列挙 check=[(h,w) for h in range(H+2) for w in range(W+2) if h in set([0,H+1]) or w in set([0,W+1])] way=[(-1,-1),(0,-1),(1,-1),(1,0)] #実際に撃ってみる 処理は「0のマスに侵入したら終了」 ans=0 for i in range(len(check)): #初発 sx,sy=check[i] for x in range(4): #方向 visited=set(); cnt=0; wx,wy=way[x]; nx,ny=sx,sy while 1: nx,ny=nx+wx,ny+wy if A[nx][ny]==0: break visited.add((nx,ny)); cnt+=A[nx][ny] #変な方向にbiimしていたら打ち切り if len(visited)==0: continue for j in range(i,len(check)): #次発 tx,ty=check[j] for y in range(4): xx,xy=way[y]; mx,my=tx,ty; cnt2=0 while 1: mx,my=mx+xx,my+xy if A[mx][my]==0: break if (mx,my) in visited: continue cnt2+=A[mx][my] #答えを更新 ans=max(ans,cnt+cnt2) print(ans)