#include <bits/stdc++.h>
using namespace std;
struct P {
  int x;
  int a;
};
P data[105];
bool cmp(P x, P y) { return x.x < y.x; }
int main() {
  int n;
  int x, a;
  int po = 0, ne = 0;
  int res = 0;
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) {
    scanf("%d%d", &x, &a);
    data[i].x = x;
    data[i].a = a;
    if (x < 0)
      ++ne;
    else
      ++po;
  }
  sort(data, data + n, cmp);
  if (ne > po) {
    for (int i = n - 1; i >= n - po * 2 - 1; --i) {
      res += data[i].a;
    }
  } else {
    for (int i = 0; i < ne * 2 + 1; ++i) {
      res += data[i].a;
    }
  }
  printf("%d\n", res);
  return 0;
}
