N = int(input()) A_costs, B_costs = zip(*(list(map(int, input().split())) for _ in [0]*N)) dp = [sum(B_costs)] * (sum(A_costs)+1) a_acc = 0 for a_cost, b_cost in zip(A_costs, B_costs): for i in range(a_acc, -1, -1): if dp[i+a_cost] > dp[i]-b_cost: dp[i+a_cost] = dp[i]-b_cost a_acc += a_cost print(min(i if i > v else v for i, v in enumerate(dp)))