#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:500000000")
using namespace std;
vector<int> A[2];
int main() {
  int n, i, j, t, w;
  cin >> n;
  for (i = 0; i < n; i++) {
    cin >> t >> w;
    A[t - 1].push_back(w);
  }
  for (i = 0; i < 2; i++) sort(A[i].begin(), A[i].end(), greater<int>());
  int res = 0x3F3F3F3F;
  for (int x = -1; x < (int)A[0].size(); x++) {
    for (int y = -1; y < (int)A[1].size(); y++) {
      w = (x + 1) + 2 * (y + 1);
      int s = 0;
      for (i = x + 1; i < A[0].size(); i++) s += A[0][i];
      for (i = y + 1; i < A[1].size(); i++) s += A[1][i];
      if (s <= w) res = min(res, w);
    }
  }
  cout << res << endl;
}
