#!/usr/bin/env python3 # %% import sys read = sys.stdin.buffer.read readline = sys.stdin.buffer.readline readlines = sys.stdin.buffer.readlines import numpy as np # %% T = int(readline()) # %% def calc_from_left(A): N = len(A) dp = np.zeros((N, N), np.int32) for i in range(1, N): B = A[:i] cond1 = (A[i] > B)[:, None] & (B[:, None] >= B[None, :]) cond2 = (A[i] - B)[:, None] > (B[:, None] - B[None, :]) cond = cond1 & cond2 dp[i, :i] = ((dp[:i, :i] + 1) * cond).max(axis=1) return dp.max(axis=1) def solve(): N = int(readline()) A = np.array(readline().split(), np.int64) dp1 = calc_from_left(A) dp2 = calc_from_left(A[::-1])[::-1] return max(x + y for x, y in zip(dp1, dp2)) + 1 # %% for _ in range(T): print(solve())