n = int(input()) f = [(list(map(int, input().split()))) for i in range(n)] # 从下到上,从左到右,进行比较相加 for i in range(n-1, 0, -1): for j in range(i): f[i-1][j] += max(f[i][j], f[i][j+1]) # 最后位于三角形顶端的即为最长路径的路径长度 print(f[0][0])