#include using namespace std; using ll=long long; using ld=long double; using P=pair; #define MOD 1000000007ll #define INF 1000000000ll #define EPS 1e-10 #define FOR(i,n,m) for(ll i=n;i<(ll)m;i++) #define REP(i,n) FOR(i,0,n) #define DUMP(a) REP(d,a.size()){cout<>n; vector a(n); vector b(n); REP(i,n) cin>>a[i]>>b[i]; vector> dp(n,vector(100010,INF*INF)); REP(i,n) REP(j,100010) { if(i) { dp[i][j]=min(dp[i][j],dp[i-1][j]+b[i]); if(j>=a[i]) dp[i][j]=min(dp[i][j],dp[i-1][j-a[i]]); } else { if(j==a[i]) dp[i][j]=0; if(j==0) dp[i][j]=b[i]; } } ll ans=INF*INF; REP(i,100010) ans=min(ans,max(i,dp[n-1][i])); cout<