#include <bits/stdc++.h>
using namespace std;
int abs1(int a) { return (a > 0 ? a : -a); }
bool comp(pair<long long, long long> a, pair<long long, long long> b) {
  return a.first < b.first;
}
bool comp1(pair<long long, long long> a, pair<long long, long long> b) {
  return a.first > b.first;
}
int main() {
  ios::sync_with_stdio(false);
  int n;
  cin >> n;
  vector<pair<long long, long long> > v1, v2;
  for (int i = 0; i < n; i++) {
    long long x, y;
    cin >> x >> y;
    if (x < 0) {
      v1.push_back(make_pair(x, y));
    } else {
      v2.push_back(make_pair(x, y));
    }
  }
  sort(v1.begin(), v1.end(), comp1);
  sort(v2.begin(), v2.end(), comp);
  if (abs1(v1.size() - v2.size()) <= 1) {
    long long ans = 0;
    for (int i = 0; i < v1.size(); i++) {
      ans += v1[i].second;
    }
    for (int i = 0; i < v2.size(); i++) {
      ans += v2[i].second;
    }
    cout << ans << "\n";
  } else {
    long long ans = 0;
    if (v1.size() > v2.size()) {
      for (int i = 0; i < v2.size(); i++) {
        ans += v2[i].second;
      }
      for (int i = 0; i < v2.size() + 1; i++) {
        ans += v1[i].second;
      }
    } else {
      for (int i = 0; i < v1.size(); i++) {
        ans += v1[i].second;
      }
      for (int i = 0; i < v1.size() + 1; i++) {
        ans += v2[i].second;
      }
    }
    cout << ans << "\n";
  }
  return 0;
}
