#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
int rex[4] = {0,0,1,2} ;
inline void solve(){
int n ; cin >> n ;
vector<int> a(n+1) ;
for(int i=1;i<=n;i++) cin >> a[i] ;
if(n<=3) {
cout << rex[n] << endl ;
return ;
}
int ans = 0 ;
int mi = a[1] , ma = a[1] ;
for(int i=1;i<n;i++){
mi = min(mi,a[i]) ; ma = max(ma,a[i]) ;
if(ma == i) ans ++ ;
if(mi == n-i+1) ans ++ ;
}
int x = min(a[1],a[2]) , y = max(a[1],a[2]) ;
if(x==1&&y==n) ans ++ ;
x = min(a[n-1],a[n]) ; y = max(a[n-1],a[n-2]) ;
if(x==1&&y==n) ans ++ ;
int t = 1 ;
for(int i=2;i<=n;i++){
if(a[i]%2==a[1]%2) t ++;
else break ;
}
if(t==n/2||t==n/2+1) ans ++ ;
cout << ans << endl ;
}
signed main(){
IOS
int _ = 1;
cin >> _;
while(_ --) solve();
return 0;
}