H,W = map(int,input().split()) A = [[0 for _ in range(W+2)]] for _ in range(H): a = [0]+list(map(int,input().split()))+[0] A.append(a) A.append([0 for _ in range(W+2)]) B = [] for i in range(H+2): B.append((i,0)) B.append((i,W+1)) for j in range(1,W+1): B.append((0,j)) B.append((H+1,j)) ans = 0 for a in B: for b in B: y1,x1 = a y2,x2 = b for dy1 in [-1,0,1]: for dx1 in [-1,0,1]: if dy1==dx1==0:continue cnt = 0 y,x = y1,x1 C = set() while True: if y+dy1<1 or y+dy1>H or x+dx1<1 or x+dx1>W: break y += dy1 x += dx1 C.add((y,x)) cnt += A[y][x] for dy2 in [-1,0,1]: for dx2 in [-1,0,1]: if dy2==dx2==0:continue cnt1 = cnt y,x = y2,x2 while True: if y+dy2<1 or y+dy2>H or x+dx2<1 or x+dx2>W: break y += dy2 x += dx2 if (y,x) not in C: cnt1 += A[y][x] ans = max(ans,cnt1) print(ans)