#include <bits/stdc++.h>
using namespace std;
void Oli() {
  int a;
  cin >> a;
  vector<pair<int, int>> pr(a);
  for (int i = 0; i < a; i++) {
    cin >> pr[i].first >> pr[i].second;
  }
  int s = 0;
  int k = 1;
  for (int i = 0; i < pr.size(); i++) {
    if (pr[i].second >= 1) {
      k--;
      k += pr[i].second;
      s += pr[i].first;
      pr.erase(pr.begin() + i);
      i--;
    }
  }
  sort(pr.rbegin(), pr.rend());
  int i = 0;
  while (k > 0 && i < pr.size()) {
    s += pr[i].first;
    i++;
    k--;
  }
  cout << s << endl;
}
int main() {
  int t = 1;
  while (t--) {
    Oli();
  }
  return 0;
}
