n = int(input())
dp = []
for i in range(n):
dp.append(list(map(int, input().split())))
k =2
for i in range(1, n):
for j in range(k):
if j == 0:
dp[i][j] = dp[i][j]+dp[i-1][j]
elif j == i:
dp[i][j] = dp[i][j] + dp[i-1][j-1]
else:
dp[i][j] = max(dp[i-1][j-1], dp[i-1][j])+dp[i][j]
k+=1
print(dp)
print(max(dp[n-1]))
여기서 k 를 쓰는 테크닉때문에 좀 헷갈렸는데, 이 부분은 나중에 한 번 더 복습해보는게 좋을거같다.