1149๋ฒ์ด๋ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ ๊ทผํ๋ฉด ๋๋ค
1. ์ ๋ ฅ๋ฐ์ ์๋ฅผ ํผ๋ผ๋ฏธ๋ ํ์์ ์ด์ค ๋ฆฌ์คํธ tri์ ์ ์ฅ
2. ๋๋ฒ์งธ ์ค๋ถํฐ ํ์คํ์ค ์ด์ ์ค์ ์์ ์ ์ ํ ๊ฐ๋ฅํ ๋๊ฐ์ง ์ ์ค ๋ ํฐ ์๋ฅผ ์์ ์ ๋ํ๋ค
2-1. ์ฒซ๋ฒ์งธ ์ซ์๋ ์ด์ ์ค์ ์ฒซ๋ฒ์งธ ์ซ์๋ง์ด ์์ ์ ์ ํํ ์ ์์ผ๋ฏ๋ก ๋ฌด์กฐ๊ฑด ์ฒซ๋ฒ์งธ ์ซ์๋ง ๋ํด์ค๋ค
2-2. ๋ง์ง๋ง ์ซ์๋ ์ด์ ์ค์ ๋ง์ง๋ง ์ซ์๋ง์ด ์์ ์ ์ ํํ ์ ์์ผ๋ฏ๋ก ๋ฌด์กฐ๊ฑด ๋ง์ง๋ง ์ซ์๋ง ๋ํด์ค๋ค
3. tri์ ๋ง์ง๋ง ์ค์์ ๊ฐ์ฅ ํฐ ์ซ์๋ฅผ ์ถ๋ ฅํ๋ค
# 1932.py
n = int(input())
tri = [[i for i in map(int, input().split())] for i in range(n)]
for i in range(1, n):
tri[i][0] = tri[i][0] + tri[i-1][0]
for j in range(1, i):
tri[i][j] = tri[i][j] + max(tri[i-1][j-1], tri[i-1][j])
tri[i][i] = tri[i][i] + tri[i-1][i-1]
print(max(tri[n-1]))