def solve(): N = int(input()) H = [None] * N for i in range(N): v, t = map(int, input().split()) H[i] = (v, t) H.sort(key=lambda x: x[0] + x[1]) dp = [False] * 20001 dp[0] = True ma = 0 for i in range(N): v, t = H[i] for j in range(t - 1, -1, -1): if dp[j]: dp[j + v] = True ma = max(ma, j + v) print(ma) if __name__ == '__main__': solve()