#include <bits/stdc++.h>
using namespace std;
#define int long long int
#define pb emplace_back
#define mp make_pair
#define fi first
#define se second
#define all(v) v.begin(), v.end()
signed main()
{
int n, i,j,ans=0,ok=0;
cin >> n;
vector<int> a(n, 0), b(n, 0);
for (i = 0; i < n; i++)
cin >> a[i];
for (i = 0; i < n; i++)
cin >> b[i];
vector<pair<int, int>> v;
for (i = 0; i < n; i++)
{
v.pb(mp(i + 1 + b[i], -a[i]));
v.pb(mp(i + 1, a[i]));
}
sort(all(v));
n = v.size();
v.pb(mp(0, 0));
i = 0;
int res = 0;
while (1)
{
if (i > n)
break;
ok = 0;
for (j = i; j <= n; j++)
{
if (v[i].fi == v[j].fi)
ans += v[j].se;
else
{
i = j;
ok = 1;
break;
}
}
if (ok == 0)
break;
res = max(res, ans);
}
cout << res << endl;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZyBpbnQKI2RlZmluZSBwYiBlbXBsYWNlX2JhY2sKI2RlZmluZSBtcCBtYWtlX3BhaXIKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIGFsbCh2KSB2LmJlZ2luKCksIHYuZW5kKCkKCnNpZ25lZCBtYWluKCkKewoKICBpbnQgbiwgaSxqLGFucz0wLG9rPTA7CgogIGNpbiA+PiBuOwoKICB2ZWN0b3I8aW50PiBhKG4sIDApLCBiKG4sIDApOwoKICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKQogICAgY2luID4+IGFbaV07CiAgZm9yIChpID0gMDsgaSA8IG47IGkrKykKICAgIGNpbiA+PiBiW2ldOwoKICB2ZWN0b3I8cGFpcjxpbnQsIGludD4+IHY7CiAgZm9yIChpID0gMDsgaSA8IG47IGkrKykKICB7CiAgICB2LnBiKG1wKGkgKyAxICsgYltpXSwgLWFbaV0pKTsKICAgIHYucGIobXAoaSArIDEsIGFbaV0pKTsKICB9CgogIHNvcnQoYWxsKHYpKTsKICBuID0gdi5zaXplKCk7CiAgdi5wYihtcCgwLCAwKSk7CgogIGkgPSAwOwogIGludCByZXMgPSAwOwoKICB3aGlsZSAoMSkKICB7CiAgICBpZiAoaSA+IG4pCiAgICAgIGJyZWFrOwogICAgb2sgPSAwOwogICAgZm9yIChqID0gaTsgaiA8PSBuOyBqKyspCiAgICB7CiAgICAgIGlmICh2W2ldLmZpID09IHZbal0uZmkpCiAgICAgICAgYW5zICs9IHZbal0uc2U7CiAgICAgIGVsc2UKICAgICAgewogICAgICAgIGkgPSBqOwogICAgICAgIG9rID0gMTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgfQoKCiAgICBpZiAob2sgPT0gMCkKICAgICAgYnJlYWs7CgogICAgcmVzID0gbWF4KHJlcywgYW5zKTsKICB9CgogIGNvdXQgPDwgcmVzIDw8IGVuZGw7Cn0=