indexes = set()
a, b = 0, 0

def solution():
    global a, b
    a, b = map(int, input().split())
    matrix = [list(map(int, input().split())) for i in range(a)]

    print(move(0, 0, 0, matrix))

def move(result, i, j, matrix):

    if i < 0 or j < 0 or j >= len(matrix[0]) or i >= len(matrix) or (i, j) in indexes:
        return result

    if i == a - 1 and j == b - 1:
        return result + matrix[i][j]

    indexes.add((i, j))
    temp = result + matrix[i][j]

    result = max(result, move(temp, i, j - 1, matrix))
    result = max(result, move(temp, i, j + 1, matrix))
    result = max(result, move(temp, i - 1, j, matrix))
    result = max(result, move(temp, i + 1, j, matrix))

    indexes.remove((i, j))

    return result


def main():
    solution()


if __name__ == "__main__":
    main()

