#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9;
int main() {
  int n;
  cin >> n;
  priority_queue<int> ab, a, b, x;
  int sum = 0;
  for (int i = 0; i < n; i++) {
    string s;
    int k;
    cin >> s >> k;
    if (s == "11") ab.push(k);
    if (s == "10") a.push(k);
    if (s == "01") b.push(k);
    if (s == "00") x.push(k);
  }
  while (!a.empty() && !b.empty()) {
    sum += a.top() + b.top();
    a.pop();
    b.pop();
  }
  while (!ab.empty()) {
    int mx = 0;
    char status = 'e';
    if (!a.empty()) {
      if (a.top() > mx) {
        mx = a.top();
        status = 'a';
      }
    }
    if (!b.empty()) {
      if (b.top() > mx) {
        mx = b.top();
        status = 'b';
      }
    }
    if (!x.empty()) {
      if (x.top() > mx) {
        mx = x.top();
        status = 'x';
      }
    }
    if (status == 'e') break;
    if (status == 'a') {
      a.pop();
    } else if (status == 'b') {
      b.pop();
    } else if (status == 'x') {
      x.pop();
    }
    sum += mx + ab.top();
    ab.pop();
  }
  while (!ab.empty()) {
    sum += ab.top();
    ab.pop();
  }
  cout << sum << endl;
  return 0;
}
