rt
#include <bits/stdc++.h>
using namespace std;
using llt=long long;
const int maxn=2e6+10;
int t,n,ans=0;
llt tmp=0,maxx=0,minn=0,si=0,a[maxn];
bool x[maxn],y[maxn];
int main()
{
//freopen("take_part.out","r",stdin);
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%lld",&a[i]);
x[1]=y[n]=true;
maxx=minn=a[1];
tmp=a[1];
si=1;
for(int i=2;i<=n-1;i++)
{
tmp=(tmp+a[i]);
maxx=max(maxx,a[i]);
minn=min(minn,a[i]);
si++;
if(((minn+maxx)*si/2)==tmp&&(maxx-minn)/(si-1)*(si-1)+minn==maxx)
{
x[i]=true;
}
}
tmp=a[n];
maxx=minn=a[n];
si=1;
for(int i=n-1;i>=2;i--)
{
tmp=(tmp+a[i]);
maxx=max(maxx,a[i]);
minn=min(minn,a[i]);
si++;
if(((minn+maxx)*si/2)==tmp&&(maxx-minn)/(si-1)*(si-1)+minn==maxx)
{
y[i]=true;
}
}
for(int i=1;i<=n;i++)
{
///cout<<x[i]<<" "<<y[i+1]<<endl;
if(x[i]&&y[i+1])
{
//cout<<i<<" ";
ans++;
}
}
printf("%d \n",ans);
for(int i=1;i<=n;i++) x[i]=y[i]=false;
ans=0;
tmp=0;
si=0;
}
return 0;
}