#include<bits/stdc++.h>
using namespace std;
inline int R(){
int x=0,f=1;char ch=getchar();
while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}
return x*f;
}
#define R R()
void slove(){
int n=R,a[50001],maxx=-1,minn=10086,z,y,d,q,h;bool pd1,pd2;
z=y=d=0;
for(int i=0;i<n;i++){
a[i]=R;
maxx=max(maxx,a[i]);
minn=min(minn,a[i]);
}
pd1=pd2=false;
for(int i=0;i<n;i++){
if(pd1&&pd2) break;
if(a[i]==maxx) pd1=true;
if(a[i]==minn) pd2=true;
z++;
}
pd1=pd2=false;
for(int i=n-1;i>=0;i--){
if(pd1&&pd2) break;
if(a[i]==maxx) pd1=true;
if(a[i]==minn) pd2=true;
y++;
}
pd1=pd2=false;
for(int q=0;q<n;q++){
h=n-q-1;
if(pd1&&pd2) break;
if(a[q]==maxx) pd1=true;
if(a[q]==minn) pd2=true;
if(a[h]==maxx) pd1=true;
if(a[h]==minn) pd2=true;
d+=2;
}
cout<<min(min(z,y),d)<<"\n";
return;
}
int main(){
int T=R;
while(T--){
slove();
}
return 0;
}