#include <bits/stdc++.h>
using namespace std;
using ll = long long;
struct Strap { int a; ll b; };
int main() {
int n; cin >> n;
vector<Strap> s(n);
for(int i=0;i<n;i++) cin >> s[i].a >> s[i].b;
ll ans = LLONG_MIN;
for(int root=0; root<n; root++) { // 루트 후보
vector<ll> dp(2005, LLONG_MIN);
dp[0] = 0;
for(int i=0;i<n;i++) {
if(i==root) continue;
int t = s[i].a;
ll val = s[i].b;
for(int j=2000;j>=0;j--) if(dp[j]!=LLONG_MIN){
int nj = j + max(0, t-1);
nj = min(nj,2000);
dp[nj] = max(dp[nj], dp[j]+val);
}
}
int h = max(0, s[root].a);
ll root_val = s[root].b;
ll mx = LLONG_MIN;
for(int i=0;i<=2000;i++){
if(dp[i]!=LLONG_MIN && i<=h) mx = max(mx, dp[i]+root_val);
}
ans = max(ans, mx);
}
cout << ans << "\n";
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIGxsID0gbG9uZyBsb25nOwoKc3RydWN0IFN0cmFwIHsgaW50IGE7IGxsIGI7IH07CmludCBtYWluKCkgewogICAgaW50IG47IGNpbiA+PiBuOwogICAgdmVjdG9yPFN0cmFwPiBzKG4pOwogICAgZm9yKGludCBpPTA7aTxuO2krKykgY2luID4+IHNbaV0uYSA+PiBzW2ldLmI7CgogICAgbGwgYW5zID0gTExPTkdfTUlOOwogICAgZm9yKGludCByb290PTA7IHJvb3Q8bjsgcm9vdCsrKSB7IC8vIOujqO2KuCDtm4Trs7QKICAgICAgICB2ZWN0b3I8bGw+IGRwKDIwMDUsIExMT05HX01JTik7CiAgICAgICAgZHBbMF0gPSAwOwogICAgICAgIGZvcihpbnQgaT0wO2k8bjtpKyspIHsKICAgICAgICAgICAgaWYoaT09cm9vdCkgY29udGludWU7CiAgICAgICAgICAgIGludCB0ID0gc1tpXS5hOwogICAgICAgICAgICBsbCB2YWwgPSBzW2ldLmI7CiAgICAgICAgICAgIGZvcihpbnQgaj0yMDAwO2o+PTA7ai0tKSBpZihkcFtqXSE9TExPTkdfTUlOKXsKICAgICAgICAgICAgICAgIGludCBuaiA9IGogKyBtYXgoMCwgdC0xKTsKICAgICAgICAgICAgICAgIG5qID0gbWluKG5qLDIwMDApOwogICAgICAgICAgICAgICAgZHBbbmpdID0gbWF4KGRwW25qXSwgZHBbal0rdmFsKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpbnQgaCA9IG1heCgwLCBzW3Jvb3RdLmEpOwogICAgICAgIGxsIHJvb3RfdmFsID0gc1tyb290XS5iOwogICAgICAgIGxsIG14ID0gTExPTkdfTUlOOwogICAgICAgIGZvcihpbnQgaT0wO2k8PTIwMDA7aSsrKXsKICAgICAgICAgICAgaWYoZHBbaV0hPUxMT05HX01JTiAmJiBpPD1oKSBteCA9IG1heChteCwgZHBbaV0rcm9vdF92YWwpOwogICAgICAgIH0KICAgICAgICBhbnMgPSBtYXgoYW5zLCBteCk7CiAgICB9CiAgICBjb3V0IDw8IGFucyA8PCAiXG4iOwp9
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