#include<bits/stdc++.h>
using namespace std;
int a[300010];
int panduan(int x){
	if(a[x]>a[x+1]&&a[x]>a[x-1]) return 1;
	if(a[x]<a[x+1]&&a[x]<a[x-1]) return 1;
	return 0;
}
int main(){
	ios::sync_with_stdio(false);
	int t;
	cin>>t;
	while(t--){
		int n,res=0,cnt=0;
		cin>>n;
		for(int i=1;i<=n;i++) cin>>a[i];
		a[n+2]=a[n+1]=a[n];
		a[-1]=a[0]=a[1];
		for(int i=2;i<=n-1;i++){
			res+=panduan(i);
		}
		cnt=res;
		for(int i=1;i<=n;i++){
			int p=panduan(i-1)+panduan(i+1)+panduan(i);
			int f=a[i];
			a[i]=a[i-1];
			int k=panduan(i-1)+panduan(i+1)+panduan(i);
			cnt=min(cnt,res-p+k);
			a[i]=a[i+1];
			k=panduan(i-1)+panduan(i+1)+panduan(i);
			cnt=min(cnt,res-p+k);
			a[i]=f;
		}
		cout<<cnt<<endl;
	}
	
	return 0;
} 