#include <bits/stdc++.h>
using namespace std;
string to_string(const string& s) { return '"' + s + '"'; }
string to_string(const bool b) { return (b ? "true" : "false"); }
string to_string(const char* s) { return to_string((string)s); }
string to_string(const char c) {
  string s = "'";
  s += c;
  s += "'";
  return s;
}
template <class T, class U>
string to_string(const pair<T, U>& p) {
  string s = "(";
  s += to_string(p.first);
  s += ", ";
  s += to_string(p.second);
  s += ")";
  return s;
}
template <class T>
string to_string(const T& a) {
  bool first = true;
  string s = "{";
  for (const auto& x : a) {
    if (!first) {
      s += ", ";
    }
    first = false;
    s += to_string(x);
  }
  s += "}";
  return s;
}
void debug_out() { cerr << '\n'; }
template <class Head, class... Tail>
void debug_out(Head head, Tail... tail) {
  cerr << ' ' << to_string(head);
  debug_out(tail...);
}
bool cmp(pair<int, int> a, pair<int, int> b) {
  if (a.first == b.first) {
    return (a.second < b.second);
  }
  return a.first < b.first;
}
namespace std {
template <>
struct hash<pair<int, int>> {
  std::size_t operator()(pair<int, int> const& s) const noexcept {
    return s.first * 1e6 + s.second;
  }
};
}  // namespace std
int freq[31] = {0};
void bin(int a) {
  for (int i = 30; i >= 0; i--) {
    freq[i] += a % 2;
    a >>= 1;
  }
}
void rbin(int a) {
  for (int i = 30; i >= 0; i--) {
    freq[i] -= a % 2;
    a >>= 1;
  }
}
int bin_to_int() {
  int a = 0;
  for (int i = 0; i <= 30; i++) {
    a <<= 1;
    a += (freq[i] != 0);
  }
  return a;
}
int f(int a, int b) { return ((a | b) - b); }
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  int t;
  cin >> t;
  while (t--) {
    int n, x = 0, y = 0;
    bool c = false, d = false;
    cin >> n;
    vector<int> a(n);
    for (int i = 0; i < n; i++) {
      cin >> a[i];
      if (a[i] < i && x == 0) {
        x = i;
      }
      if (a[i] >= i) {
        c = true;
      }
    }
    for (int i = 0; i < n; i++) {
      if (a[n - i - 1] < i && y == 0) {
        y = n - i + 1;
      }
      if (a[n - i - 1] >= i) {
        d = true;
      }
    }
    if (x == 0 && c == true) {
      x = n;
    }
    if (y == 0 && d == true) {
      y = 1;
    }
    if (x >= y) {
      cout << "YES\n";
    } else {
      cout << "NO\n";
    }
  }
  return 0;
}
