#include <iostream>
#include<bits/stdc++.h>
using namespace std;
int main() {
int n ; cin>>n;
vector<int>arr(n);
for(int i = 0 ; i<n;i++) cin>>arr[i];
unordered_map<int,int>hash;
int sum = 0 ; int max_sum =INT_MIN;
for(int i = 0 ; i<n;i++){
hash[arr[i]-i]+=arr[i];
max_sum= max(hash[arr[i]-i],max_sum);
}
cout<<max_sum;
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CglpbnQgbiA7IGNpbj4+bjsKCXZlY3RvcjxpbnQ+YXJyKG4pOwoJZm9yKGludCBpID0gMCA7IGk8bjtpKyspIGNpbj4+YXJyW2ldOwoJdW5vcmRlcmVkX21hcDxpbnQsaW50Pmhhc2g7CglpbnQgc3VtID0gMCA7IGludCBtYXhfc3VtID1JTlRfTUlOOwoJZm9yKGludCBpID0gMCA7IGk8bjtpKyspewoJCWhhc2hbYXJyW2ldLWldKz1hcnJbaV07CgkJbWF4X3N1bT0gbWF4KGhhc2hbYXJyW2ldLWldLG1heF9zdW0pOwoJfQoJY291dDw8bWF4X3N1bTsKCQoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJcmV0dXJuIDA7Cn0=