import sys readline=sys.stdin.readline N=int(readline()) inf=1<<30 dp=[inf]*(10**5+1) dp[0]=0 for _ in range(N): a,b=map(int,readline().split()) for i in range(10**5,a-1,-1): dp[i]=min(dp[i-a],dp[i]+b) for i in range(a): dp[i]+=b ans=min(max(i,dp[i]) for i in range(10**5+1)) print(ans)