#include #include #include #include #include #include #include #include #include #include using namespace std; #define rep(i,n) for(int i=0;i<(int)(n);i++) #define REP(i,m,n) for(int i=m;i<(int)(n);i++) typedef long long ll; typedef pair pint; const ll mod= 1e9+7; const int inf=1e9+7; const ll longinf = 1LL<<60; int dx[4]={1,0,-1,0}, dy[4]={0,1,0,-1}; int main(){ int n; cin>>n; int a[n],b[n]; rep(i,n)cin>>a[i]>>b[i]; int dp[111][111111]; rep(i,111)rep(j,111111)dp[i][j]=inf; dp[0][0]=0; rep(i,n)rep(j,100010){ dp[i+1][j+a[i]]=min(dp[i+1][j+a[i]],dp[i][j]); dp[i+1][j]=min(dp[i+1][j],dp[i][j]+b[i]); } int ans=inf; rep(i,101010)ans=min(ans,max(i,dp[n][i])); cout<