๐ ๋ค์ชฝ ๋ ์ง๋ถํฐ ๊ฑฐ๊พธ๋ก ํ์ธํ๋ ๋ฐฉ์์ผ๋ก ์ ๊ทผํ๊ธฐ
n = int(input())
t = [] # ์๋ด ๊ธฐ๊ฐ
p = [] # ์๋ด ๊ธ์ก
d = [0] * (n+1)
mx = 0
for _ in range(n):
x, y = map(int, input().split())
t.append(x)
p.append(y)
for i in range(n-1, -1, -1):
# i - ํ์ฌ ์๋ด / time - ํ์ฌ ์๋ด ๋๋๊ณ
time = t[i] + i
# ์๋ด์ด ๊ธฐ๊ฐ ์์ ๋๋๋ ๊ฒฝ์ฐ
if time <= n:
d[i] = max(p[i] + d[time], mx)
mx = d[i]
else:
d[i] = mx
# print(d)
print(mx)
dp์ข ์ํ๊ณ ์ถ๋ค๐ต