import sys readline = sys.stdin.readline N, M = map(int, readline().split()) inf = 10 ** 18 dp0 = [[inf] * N for i in range(N)] dp1 = [[inf] * N for i in range(N)] cost = [[0] * N for i in range(N)] dp0[0][0] = 0 for i in range(M): h, w, c = map(int, readline().split()) h, w = h - 1, w - 1 cost[h][w] = c for i in range(N): for j in range(N): if i - 1 >= 0: dp0[i][j] = min(dp0[i][j], dp0[i - 1][j] + cost[i][j]) dp1[i][j] = min(dp1[i][j], dp1[i - 1][j] + cost[i][j]) dp1[i][j] = min(dp1[i][j], dp0[i - 1][j]) if j - 1 >= 0: dp0[i][j] = min(dp0[i][j], dp0[i][j - 1] + cost[i][j]) dp1[i][j] = min(dp1[i][j], dp1[i][j - 1] + cost[i][j]) dp1[i][j] = min(dp1[i][j], dp0[i][j - 1]) print(min(dp0[-1][-1], dp1[-1][-1]) + 2 * (N - 1))