#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const double PI = 3.14159265358979323846; const double EPS = 1e-12; const int INF = 1<<25; typedef pair P; typedef long long ll; typedef unsigned long long ull; #define M 110 ll T, N, A[M], dp[M][M], dp2[M][M]; ll solve(){ memset(dp, -1, sizeof(dp)); memset(dp2, -1, sizeof(dp2)); for(int i = 0; i < N; i++){ for(int j = i+1; j < N; j++){ if(A[i]A[j]) dp2[i][j] = 1; } } for(int j = 0; j < N; j++){ for(int i = 0; i < j; i++){ for(int k = j+1; k < N; k++){ if(dp[i][j]>0 && A[j]-A[i]= 0; j--){ for(int i = 0; i < j; i++){ for(int k = j+1; k < N; k++){ if(dp2[j][k]>0 && A[i]-A[j]>A[j]-A[k]){ dp2[i][j] = max(dp2[i][j], dp2[j][k]+1); } } } } for(int i = 0; i < N; i++){ for(int j = 0; j < N; j++){ if(dp[i][j]<0) dp[i][j] = -INF; if(dp2[i][j]<0) dp2[i][j] = -INF; } } ll res = 1; for(int i = 0; i < N; i++) for(int j = i; j < N; j++) for(int k = j; k < N; k++) res = max(res, dp[i][j]+dp2[j][k]+1); return res; } int main(){ cin>>T; while(T--){ cin>>N; for(int i = 0; i < N; i++) cin>>A[i]; A[N] = 1e10; cout<