n = int(input()) vt = [list(map(int, input().split())) for _ in range(n)] vt.sort(key=lambda x:x[0]+x[1]) dp = [False] * 10001 dp[0] = True ans = 0 for v, t in vt: for i in range(t - 1, -1, -1): if dp[i]: ans = max(ans, i + v) if i + v <= 10000: dp[i + v] = True print(ans)