#include<bits/stdc++.h>
#define int long long
using namespace std;
const int maxn=1e5+10;
int n,f[maxn];
struct Node{
int d,p;
bool operator<(const Node& x)const{
return (x.d==d)?(p<x.p):(d>x.d);
}
}a[maxn];
priority_queue<Node>q;
signed main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i].d>>a[i].p;
for(int i=1;i<=n;i++) if(a[i].d<=1e9) q.push(a[i]);
int now=0,ans=0;
while(!q.empty()){
int d=q.top().d,p=q.top().p;q.pop();
if(now>d) continue;
now=d+1,ans+=p;
}
cout<<ans;
return 0;
}