#include<bits/stdc++.h>
using namespace std;
struct Node{
long long t,val;
}a[100010];
long long n,sum;
bool cmp(Node x,Node y){
return x.val<y.val;
}
bool cmp1(Node x,Node y){
return x.t<y.t;
}
int main(){
scanf("%lld",&n);
for(int i=1;i<=n;i++) scanf("%lld%lld",&a[i].t,&a[i].val);
long long i=n;
sort(a+1,a+1+n,cmp1);
while(i>=1){
long long k=i;
while(a[k].t==a[k-1].t) k--;
long long time=a[k].t-a[k-1].t;
sort(a+k,a+n+1,cmp);
for(int j=n;j>n-time;j--){
sum+=a[j].val;
a[j].val=0;
}
i=k-1;
}
printf("%lld\n",sum);
return 0;
}