#include<bits/stdc++.h>
using namespace std;

int main(){
    int T;
    cin>>T;
    for(int t=0;t<T;t++){
        int n;
        cin>>n;
        int a[n];
        int ctr=0;
        for(int i=0;i<n;i++){
            cin>>a[i];
        }
        for(int i=1;i<n-1;i++){
            if((a[i]>a[i-1]&&a[i]>a[i+1])||(a[i]<a[i-1]&&a[i]<a[i+1])){
                ctr++;
            }
        }
        int best=0;
        int cnt,cnt1,cnt2,temp;
        for(int j=1;j<n-1;j++){
            temp=a[j];
            cnt=0;
            for(int i=j-1;i<=j+1;i++){
                if(i>0&&i<n-1){
                    if((a[i]>a[i-1]&&a[i]>a[i+1])||(a[i]<a[i-1]&&a[i]<a[i+1])){
                        cnt++;
                    }
                }
            }
            a[j]=a[j-1];
            cnt1=0;
            for(int i=j-1;i<=j+1;i++){
                if(i>0&&i<n-1){
                    if((a[i]>a[i-1]&&a[i]>a[i+1])||(a[i]<a[i-1]&&a[i]<a[i+1])){
                        cnt1++;
                    }
                }
            }
            a[j]=a[j+1];
            cnt2=0;
            for(int i=j-1;i<=j+1;i++){
                if(i>0&&i<n-1){
                    if((a[i]>a[i-1]&&a[i]>a[i+1])||(a[i]<a[i-1]&&a[i]<a[i+1])){
                        cnt2++;
                    }
                }
            }
            a[j]=temp;
            best=max(best,max(cnt-cnt1,cnt-cnt2));
        }
        cout<<ctr-best<<'\n';
    }
}