#include <bits/stdc++.h>
using namespace std;
using ll=long long;
int main(){
int n; cin>>n;
const int MX=2005;
ll dp[MX];
fill(dp,dp+MX,LLONG_MIN);
dp[0]=0;
ll phoneMax=0; // 휴대폰 직접 연결 후보 최대 즐거움
for(int i=0;i<n;i++){
int a,b; cin>>a>>b;
if(a==0){
phoneMax=max(phoneMax,(ll)b);
} else {
for(int j=MX-1;j>=0;j--){
if(dp[j]!=LLONG_MIN){
int nj=j+a-1;
nj=min(nj,MX-1);
dp[nj]=max(dp[nj],dp[j]+b);
}
}
}
}
ll ans=LLONG_MIN;
for(int i=0;i<MX;i++) ans=max(ans,dp[i]+phoneMax);
cout<<ans<<"\n";
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIGxsPWxvbmcgbG9uZzsKCmludCBtYWluKCl7CiAgICBpbnQgbjsgY2luPj5uOwogICAgY29uc3QgaW50IE1YPTIwMDU7CiAgICBsbCBkcFtNWF07CiAgICBmaWxsKGRwLGRwK01YLExMT05HX01JTik7CiAgICBkcFswXT0wOwoKICAgIGxsIHBob25lTWF4PTA7IC8vIO2ctOuMgO2PsCDsp4HsoJEg7Jew6rKwIO2bhOuztCDstZzrjIAg7KaQ6rGw7JuACiAgICBmb3IoaW50IGk9MDtpPG47aSsrKXsKICAgICAgICBpbnQgYSxiOyBjaW4+PmE+PmI7CiAgICAgICAgaWYoYT09MCl7CiAgICAgICAgICAgIHBob25lTWF4PW1heChwaG9uZU1heCwobGwpYik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZm9yKGludCBqPU1YLTE7aj49MDtqLS0pewogICAgICAgICAgICAgICAgaWYoZHBbal0hPUxMT05HX01JTil7CiAgICAgICAgICAgICAgICAgICAgaW50IG5qPWorYS0xOwogICAgICAgICAgICAgICAgICAgIG5qPW1pbihuaixNWC0xKTsKICAgICAgICAgICAgICAgICAgICBkcFtual09bWF4KGRwW25qXSxkcFtqXStiKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBsbCBhbnM9TExPTkdfTUlOOwogICAgZm9yKGludCBpPTA7aTxNWDtpKyspIGFucz1tYXgoYW5zLGRwW2ldK3Bob25lTWF4KTsKICAgIGNvdXQ8PGFuczw8IlxuIjsKfQ==
MTUKMSAtNDAzNAoxIDM0MDYKMCA2MDYyCjQgLTY4MjQKMCA5Nzk4CjAgNDUwMAowIC0xOTE1CjEgMjEzNwowIDk3ODYKMCA3MzMwCjAgLTkzNjUKMiAyNzMwCjAgLTU3OTcKMCA2MTI5CjAgODkyNQ==
15
1 -4034
1 3406
0 6062
4 -6824
0 9798
0 4500
0 -1915
1 2137
0 9786
0 7330
0 -9365
2 2730
0 -5797
0 6129
0 8925