#include <bits/stdc++.h>   using namespace std;   int main() {     int i, j, k, res, n, sum, t, w, temp, sz1, sz2;     while (scanf( %d , &n) == 1) {       vector<int> v[3];       sum = 0;       for (i = 0; i < n; i++) {         scanf( %d%d , &t, &w);         v[t].push_back(w);         sum += w;       }       sort(v[1].begin(), v[1].end());       sort(v[2].begin(), v[2].end());       sz1 = v[1].size();       sz2 = v[2].size();       res = 10000000;       for (i = 0; i <= sz1; i++) {         for (j = 0; j <= sz2; j++) {           temp = sum;           for (k = sz1 - 1; k > sz1 - 1 - i; k--) {             temp -= v[1][k];           }           for (k = sz2 - 1; k > sz2 - 1 - j; k--) {             temp -= v[2][k];           }           if (temp <= i + j * 2) res = res < i + j * 2 ? res : i + j * 2;         }       }       printf( %d n , res);     }     return 0;   }   