import java.util.*;
public class Vaihdot {
public static int[][]ans=new int[500][2];
public static int[]v=new int[100],pos=new int[100];
public static int ansptr=0;
public static void do_swap(int a,int b){
int c=v[b];
v[b]=v[a];
v[a]=c;
c=pos[v[b]];
pos[v[b]]=pos[v[a]];
pos[v[a]]=c;
ans[ansptr][0]=a;
ans[ansptr][1]=b;
ansptr++;
}
public static int abs(int x){return x<0?-x:x;}
public static void main(String[]args){
Scanner sc=new Scanner(System.in);
int t=sc.nextInt();
StringBuilder sb=new StringBuilder();
while(t-->0){
ansptr=0;
int n=sc.nextInt();
for(int i=0;i<n;++i){
v[i]=sc.nextInt();
v[i]--;
pos[v[i]]=i;
}
for(int i=0;i<n;++i){
if(abs(pos[i]-i)>1)do_swap(pos[i],i);
for(int j=0;j<n&&pos[i]!=i;++j){
if(abs(i-j)>1&&abs(pos[i]-j)>1){
int u=pos[i];
do_swap(u,j);
do_swap(i,j);
do_swap(u,j);
}
}
for(int j=0;j<n&&pos[i]!=i;++j){
if(abs(pos[i]-j)>1){
for(int k=j+1;k<n&&pos[i]!=i;++k){
if(abs(j-k)>1&&abs(i-k)>1){
int u=pos[i];
do_swap(j,u);
do_swap(j,k);
do_swap(i,k);
do_swap(j,k);
do_swap(j,u);
}
}
}
}
}
boolean ok=true;
for(int i=0;i+1<n;++i){
if(v[i]>v[i+1]){
ok=false;
}
}
if(ok){
sb.append(ansptr).append("\n");
for(int i=0;i<ansptr;++i){
sb.append(ans[i][0]+1).append(" ").append(ans[i][1]+1).append("\n");
}
}else{
sb.append(-1).append("\n");
}
}
System.out.print(sb.toString());
}
}