#include using namespace std; using ll = long long; int main() { cin.tie(0); ios::sync_with_stdio(false); int n; cin >> n; vector dp(100005, 100000); dp[0] = 0; int sum = 0; for (int i = 0; i < n; i++) { int a, b; cin >> a >> b; vector dp2(100005, 100000); for (int j = 0; j <= sum; j++) { dp2[j + a] = min(dp2[j + a], dp[j]); dp2[j] = min(dp2[j], dp[j] + b); } sum += a; dp = move(dp2); } int ans = 100000; for (int i = 0; i <= 100000; i++) { ans = min(ans, max(i, dp[i])); } cout << ans << endl; return 0; }