int n,a[100],b[100];
int dp[110][2d5];
int r=2d5;
{
	rd(n,(a,b)(n));
	rep(i,n)rep(j,1d5)dp[i+1][j]=min(dp[i][j]+b[i],j<a[i]?r:dp[i][j-a[i]]);
	rep(j,1d5)r<?=max(j,dp[n][j]);
	wt(r);
}