#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long LL dpup[101][101]; LL dpdown[101][101]; LL A[101]; const LL INF = 1e9+7; int main(void){ int T,N; cin >> T; while (T--){ cin >> N; for (int i = 0; i < N; i++){ cin >> A[i]; dpup[i][0] = dpdown[i][0] = 0; for (int j = 1; j <= N; j++){ dpup[i][j] = dpdown[i][j] = INF; } } for (int i = 1; i < N; i++){ for (int L = 1; L <= N; L++){ for (int j = 0; j < i; j++){ if (A[i]>A[j] && dpup[j][L - 1] < (A[i] - A[j])) dpup[i][L] = min(dpup[i][L], A[i] - A[j]); } } } for (int i = N-2; i >= 0; i--){ for (int L = 1; L <= N; L++){ for (int j = N-1; j > i; j--){ if (A[i]>A[j] && dpdown[j][L - 1] < (A[i] - A[j])) dpdown[i][L] = min(dpdown[i][L], A[i] - A[j]); } } } int res = 0; for (int i = 0; i < N; i++){ int l = 0, r = 0; for (int L = 0; L < N; L++){ if (dpup[i][L] < INF)l = L; if (dpdown[i][L] < INF)r = L; } res = max(res,l + r + 1); } cout << res << endl; } return(0); }