#include <bits/stdc++.h>
using namespace std;
vector<int> tps[15];
int main(void) {
  ios::sync_with_stdio(false);
  int n;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    int tp, val;
    cin >> tp >> val;
    tps[tp].push_back(val);
  }
  sort(tps[0].begin(), tps[0].end(), greater<int>());
  sort(tps[1].begin(), tps[1].end(), greater<int>());
  sort(tps[10].begin(), tps[10].end(), greater<int>());
  sort(tps[11].begin(), tps[11].end(), greater<int>());
  long long ans = 0;
  int l = min(tps[10].size(), tps[1].size());
  for (int i = 0; i < l; i++) {
    ans += tps[10][i];
    ans += tps[1][i];
  }
  if (tps[10].size() < tps[1].size()) {
    for (int i = l; i < tps[1].size(); i++) {
      tps[0].push_back(tps[1][i]);
    }
  } else {
    for (int i = l; i < tps[10].size(); i++) {
      tps[0].push_back(tps[10][i]);
    }
  }
  sort(tps[0].begin(), tps[0].end(), greater<int>());
  l = min(tps[0].size(), tps[11].size());
  for (int i = 0; i < l; i++) {
    ans += tps[0][i];
    ans += tps[11][i];
  }
  for (int i = l; i < tps[11].size(); i++) {
    ans += tps[11][i];
  }
  cout << ans;
  return 0;
}
