#include <stdio.h>
#include <stdlib.h>
 
void RunC()
{
    int N;
    scanf(" %d", &N);
 
    int* arr = (int*)malloc(N * sizeof(int));
    int* s = (int*)malloc(N * sizeof(int));
    int* t = (int*)malloc(N * sizeof(int));
 
    int ls = 0;
    int lt = 0;
    int penalty = 0;
 
    for(int i = 0; i < N; ++i)
        scanf(" %d", &arr[i]);
 
    for(int i = 0; i < N; ++i)
    {
        if(i == 0)
            s[ls++] = arr[i];
        else if(i == 1)
            t[lt++] = arr[i];
        else
        {
            if(s[ls - 1] < arr[i] && t[lt - 1] < arr[i]) // 만약 penalty가 늘어야만 한다면
            {
                if(s[ls - 1] < t[lt - 1]) // s에 넣는게 이득이라면
                    s[ls++] = arr[i];
                else
                    t[lt++] = arr[i];
 
                ++penalty;
            }
            else if(s[ls - 1] >= arr[i] && t[lt - 1] < arr[i]) // 만약 s에 넣었을 때만 penalty가 없다면
            {
                s[ls++] = arr[i];
            }
            else if(s[ls - 1] < arr[i] && t[lt - 1] >= arr[i]) // 만약 t에 넣었을 때만 penalty가 없다면
            {
                t[lt++] = arr[i];
            }
            else // 만약 어디에 넣어도 penalty가 없다면
            {
                if(s[ls - 1] < t[lt - 1])
                    s[ls++] = arr[i];
                else
                    t[lt++] = arr[i];
            }
        }
    }
 
    printf("%d\n", penalty);
    free(arr);
    free(s);
    free(t);
}
 
int main()
{
    int tc; scanf(" %d", &tc);
    while(tc--)
        RunC();
 
    return 0;
}