from collections import defaultdict def solve(): N = int(input()) A = list(map(int, input().split())) def f(xs): dp = [defaultdict(int) for _ in range(N)] res = [1] * N for i in range(N): for j in range(i+1): d = xs[i] - xs[j] if d <= 0: continue # A[j], A[i] の長さ 2 の数列からスタート dp[i][d] = max(dp[i][d], 2) # 前の結果から伸ばす for pd, plen in dp[j].items(): if pd < d: dp[i][d] = max(dp[i][d], plen + 1) res[i] = max(res[i], dp[i][d]) return res lefts = f(A) rights = f(A[::-1])[::-1] return max([a+b-1 for a, b in zip(lefts, rights)]) T = int(input()) for t in range(T): ans = solve() print(ans)