def solve(): N = int(input()) A = list(map(int, input().split())) def f(lis): dp = {(lis[0], 0, 1)} res = [1] for a in lis[1:]: pp = dp.copy() dp, pp = pp, dp max_cnt = 1 dp.add((a, 0, 1)) for x, d, cnt in pp: if x < a and a-x > d: nx = a nd = a-x ncnt = cnt+1 dp.add((nx, nd, ncnt)) max_cnt = max(max_cnt, ncnt) res.append(max_cnt) 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)