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

#define PI 3.14159
#define MAX(x,y) (x>y?x:y)
#define MIN(x,y) (x>y?y:x)
#define LARGEST(x,y,z) (x>y?(x>z?x:z):(y>z?y:z))
#define SMALLEST(x,y,z) (MIN(x,y)<z?MIN(x,y):z)
#define ll long long int
#define f(i,n) for(i=0;i<n;i++)
#define rf(i,n) for(i=n-1;i>=0;i--)

ll mod=1000000007;
int isPali(string str)
{
    string u;
   for (int i=str.length()-1; i>=0; i--)
      {
          u+=str[i];
      } 

      if(u==str)
      {
          return 1;
      }
      return 0;
}

ll power(ll a,ll n)
{

    ll res=1;
    if(n==0)
    {
        return 1;
    }
    if(n%2==0)
    {
        res=((1<<(n/2))%mod);
        return res*res;
    }
    else
    {
       res=((1<<(n/2))%mod);
        return ((res%mod)*(res%mod)*(a%mod))%mod;
    }
}

ll gcd(ll a,ll b)
{
    if(b!=0)
    {
        return gcd(b,a%b);
    }
    else
    {
        return a;
    }
}

ll lcm(ll a,ll b)
{
    return (a*b)/gcd(a,b);
}

bool checkPrimeNumber(int n) {
    bool isPrime = true;

    if (n == 0 || n == 1) {
        isPrime = false;
    }
    else {
        for (int i = 2; i <= n / 2; ++i) {
            if (n % i == 0) {
                isPrime = false;
                break;
            }
        }
    }
    return isPrime;
}



void solve()
{
  ll n;
  cin>>n;
  ll i,sum=0,x=0,arr[n];
  for(i=0;i<n;i++) cin>>arr[i];
  for(i=0;i<n;i++)
  {
    x+=i;
    sum+=arr[i];
    if(x>sum)
    {
      cout<<"NO"<<endl;
      return;
    }
  } cout<<"YES"<<endl;
}
int main()
{
     ll t;
    cin>>t;
    while(t--)
     solve();
}