#define fr(i,n) for(int i=0;i(b)?(a):(b)) main(){ scanf("%*d"); int N,A[100],d[2][100][100]; for(;~scanf("%d",&N);){ fr(i,N)scanf("%d",A+i); fr(f,2){ fr(i,N){ fr(j,N){ d[f][i][j]=i==j; } } fr(i,N){ fr(j,i){ fr(k,j+1){ if((A[i]>A[j]&&A[j]>A[k]||k==j)&&A[i]-A[j]>A[j]-A[k]){ d[f][i][j]=max(d[f][i][j],d[f][j][k]+1); } } } } fr(i,N/2)A[i]^=A[N-1-i]^=A[i]^=A[N-1-i]; } fr(f,2){ fr(i,N){ fr(j,i+1){ d[f][i][0]=max(d[f][i][0],d[f][i][j]); } } } int z=0; fr(i,N){ z=max(z,d[0][i][0]+d[1][N-1-i][0]-1); } printf("%d\n",z); } }