#include <bits/stdc++.h>   using namespace std;   const char NL =   n ;   long long int n;   vector<long long int> a, dp;   long long int s(long long int i, long long int j) {     if (a[i] > a[j]) return dp[j] + 1;     return 1;   }   void solve() {     for (long long int i = 2; i < n + 1; i++) {       long long int m = 1;       for (long long int j = 1; (j * j <= i && j <= n); j++) {         if (i % j == 0) {           m = max({m, s(i, j), s(i, i / j)});         }       }       dp[i] = m;     }     cout << *max_element(dp.begin(), dp.end()) << NL;     return;   }   int32_t main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     long long int t;     cin >> t;     while (t--) {       cin >> n;       a.assign(n + 1, 0);       dp.assign(n + 1, 0);       dp[1] = 1;       for (long long int i = 1; i < n + 1; i++) {         cin >> a[i];       }       solve();     }     fflush(stdin);     fflush(stdout);     return 0;   }   