#include <bits/stdc++.h>
using namespace std;
using ll=long long;
ll d[2005];
int main(){
int n;cin>>n;
vector<int> p;
fill(d,d+2005,LLONG_MIN);
d[0]=0;
for(int i=0;i<n;i++){
int a,b;cin>>a>>b;
if(a==0&&b>0)p.push_back(b);
else for(int j=2004;j>=0;j--)if(d[j]!=LLONG_MIN)d[min(2004,j+max(0,a-1))]=max(d[min(2004,j+max(0,a-1))],d[j]+b);
}
sort(p.rbegin(),p.rend());
for(int i=1;i<p.size();i++)p[i]+=p[i-1];
ll r=*max_element(d,d+2005);
for(int i=0;i<min(2004,(int)p.size());i++)r=max(r,d[i]+p[i]);
cout<<r<<"\n";
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIGxsPWxvbmcgbG9uZzsKbGwgZFsyMDA1XTsKaW50IG1haW4oKXsKIGludCBuO2Npbj4+bjsKIHZlY3RvcjxpbnQ+IHA7CiBmaWxsKGQsZCsyMDA1LExMT05HX01JTik7CiBkWzBdPTA7CiBmb3IoaW50IGk9MDtpPG47aSsrKXsKICBpbnQgYSxiO2Npbj4+YT4+YjsKICBpZihhPT0wJiZiPjApcC5wdXNoX2JhY2soYik7CiAgZWxzZSBmb3IoaW50IGo9MjAwNDtqPj0wO2otLSlpZihkW2pdIT1MTE9OR19NSU4pZFttaW4oMjAwNCxqK21heCgwLGEtMSkpXT1tYXgoZFttaW4oMjAwNCxqK21heCgwLGEtMSkpXSxkW2pdK2IpOwogfQogc29ydChwLnJiZWdpbigpLHAucmVuZCgpKTsKIGZvcihpbnQgaT0xO2k8cC5zaXplKCk7aSsrKXBbaV0rPXBbaS0xXTsKIGxsIHI9Km1heF9lbGVtZW50KGQsZCsyMDA1KTsKIGZvcihpbnQgaT0wO2k8bWluKDIwMDQsKGludClwLnNpemUoKSk7aSsrKXI9bWF4KHIsZFtpXStwW2ldKTsKIGNvdXQ8PHI8PCJcbiI7Cn0=