from collections import deque h, w = map(int, input().split()) a = [[] for _ in range(h - 2)] for i in range(h - 2): a[i] = list(map(int, input().split())) ans = 800 * 801 for i in range(h - 2): if a[i][0] == -1: continue q = deque() q.append((i, 0, a[i][0])) while q: tate, yoko, cost = q.popleft() if yoko == w - 1: if ans > cost: ans = cost continue for j in range(-1, 2): if h - 3 >= tate + j >= 0 and a[tate + j][yoko + 1] != -1: q.append((tate + j, yoko + 1, cost + a[tate + j][yoko + 1])) if ans == 800 * 801: print(-1) else: print(ans)