func_code_string: #include <bits/stdc++.h>   #include <sys/types.h>   #include <stdio.h>   #include <unistd.h>   #define _USE_MATH_DEFINES   #define ll long long int   #ifndef ONLINE_JUDGE   #define debug(x...) cerr <<  [  << #x <<  ] = [ ; _print(x)   #else   #define debug(x...)   #endif   using namespace std;   //mp.reserve(1024);   //mp.max_load_factor(0.25);   void __print(int x) {cerr << x;}   void __print(long x) {cerr << x;}   void __print(long long x) {cerr << x;}   void __print(unsigned x) {cerr << x;}   void __print(unsigned long x) {cerr << x;}   void __print(unsigned long long x) {cerr << x;}   void __print(float x) {cerr << x;}   void __print(double x) {cerr << x;}   void __print(long double x) {cerr << x;}   void __print(char x) {cerr <<      << x <<     ;}   void __print(const char *x) {cerr <<     << x <<    ;}   void __print(const string &x) {cerr <<     << x <<    ;}   void __print(bool x) {cerr << (x ?  true  :  false );}       template<typename T, typename V>   void __print(const pair<T, V> &x) {cerr <<  { ; __print(x.first); cerr <<  , ; __print(x.second); cerr <<  } ;}   template<typename T>   void __print(const T &x) {int f = 0; cerr <<  { ; for (auto &i: x) cerr << (f++ ?  ,  :   ), __print(i); cerr <<  } ;}   void _print() {cerr <<  ] n ;}   template <typename T, typename... V>   void _print(T t, V... v) {__print(t); if (sizeof...(v)) cerr <<  ,  ; _print(v...);}   vector<ll> v(200001);   ll dp[200001];   ll cal(ll x, ll n){    if(x>=n)     return 0;    ll now = v[x];    if(dp[x]!=-1)     return dp[x];    ll val = now;    if(x+v[x]<n){     val += cal(x+v[x], n);    }    dp[x] = val;    return dp[x];       }   int main()   {    ios_base::sync_with_stdio(false);       cin.tie(NULL);       cout.tie(NULL);       //freopen( input.txt ,  r , stdin);       //freopen( output1.txt ,  w , stdout);    ll t;    cin>>t;    while(t--){     ll n, ans = INT_MIN;     cin>>n;     memset(dp, -1, sizeof dp);     for(ll i=0;i<n;i++){      cin>>v[i];     }     for(ll i=0;i<n;i++){      ans = max(ans ,cal(i, n));     }     cout<<ans<<endl;    }    return 0;   }                                 