    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;

    #define  prec(n)        fixed<<setprecision(n)
    #define  optimize       ios::sync_with_stdio(0); cin.tie(0);
    #define  PI             acos(-1.0)
    #define  RESET(a, b)    memset(a, b, sizeof(a))
    #define  pb             push_back
    #define  sz(v)          v.size()
    #define  pii            pair<int,int>
    #define  pll            pair<ll,ll>
    #define  ff             first
    #define  ss             second
    #define  vv             vector<int>
    #define  all(v)         v.begin(),v.end()

    const ll MOD= 1e9+7;
    inline void normal(ll &a) { a %= MOD; (a < 0) && (a += MOD); }
    inline ll modMul(ll a, ll b) { a %= MOD, b %= MOD; normal(a), normal(b); return (a*b)%MOD; }
    inline ll modAdd(ll a, ll b) { a %= MOD, b %= MOD; normal(a), normal(b); return (a+b)%MOD; }
    inline ll modSub(ll a, ll b) { a %= MOD, b %= MOD; normal(a), normal(b); a -= b; normal(a); return a; }
    inline ll modPow(ll b, ll p) { ll r = 1; while(p) { if(p&1) r = modMul(r, b); b = modMul(b, b); p >>= 1; } return r; }
    inline ll modInverse(ll a) { return modPow(a, MOD-2); }inline ll modDiv(ll a, ll b) { return modMul(a, modInverse(b)); }
    inline ll mod(ll a, ll m){ if(a<0) return m-(abs(a)%m); else if(a<m) return a; else return (a%m); }

    const int MAX = 100000;
    const int N = 2e5+7;
    const int INF = 1e9;
    const int LN =  20;


int main()
{
    optimize
    int t; cin>>t;

    while(t--){
       int n,x=0;
       cin>>n;
       int a[n+2];
       set<ll>st;
       unordered_map<int,ll>Map;
       for(int i=1;i<=n;i++){
        cin>>a[i];
        Map[a[i]-i]++;
        st.insert(a[i]-i);
       }
       ll ans=0;
       for(auto it=st.begin();it!=st.end();it++){
           ll x= Map[*it];
           ans+=(x*(x-1LL))/(ll)2;
       }
       cout<<ans<<"\n";
    }
}
