#include #include #include #include #include #include using namespace std; int cheat[22]={0,1,2}; int T,N; int ord[22],no[22]; int vis[22]; int mod[22]; int next[22],prev[22]; long long ans; int gcd(int x,int y) { return y==0?x:gcd(y,x%y); } void ready() { for(int i=3;i<=20;i++) { int g=gcd(i,cheat[i-1]); cheat[i]=i/g*cheat[i-1]; } } int main() { ready(); scanf("%d",&T); while(T--) { memset(vis,0,sizeof(vis)); memset(no,0,sizeof(no)); memset(next,0,sizeof(next)); memset(prev,0,sizeof(prev)); int flag=1; scanf("%d",&N); for(int i=1;i<=N;i++) { int x; scanf("%d",&x); ord[x]=i; prev[i+1]=i; next[i]=i+1; } prev[1]=N; next[N]=1; int now=1; for(int i=1;i