#include <cstdio>
#include <algorithm>
using namespace std;
int p[505];
int ans[250005];
int main()
{
    int T,n,m;
    bool f,ff;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
            scanf("%d",&p[i]);
        m=0;
        f=true;
        for(int i=1;i<=n;i++)
            if(p[i]!=i)
                f=false;
        while(!f)
        {
            ff=false;
            for(int i=1;i<=n-1;i++)
                if(i%2!=m%2&&p[i]>p[i+1])
                {
                    ans[++m]=i;
                    swap(p[i],p[i+1]);
                    ff=true;
                    break;
                }
            if(!ff)
            {
                if(m%2!=(n-1)%2)
                {
                    ans[++m]=n-1;
                    swap(p[n-1],p[n]);
                }
                else
                {
                    ans[++m]=n-2;
                    swap(p[n-2],p[n-1]);
                }
            }
            f=true;
            for(int i=1;i<=n;i++)
                if(p[i]!=i)
                    f=false;
        }
        printf("%d\n",m);
        for(int i=1;i<=m;i++)
            if(i!=m)
                printf("%d ",ans[i]);
            else printf("%d\n",ans[i]);
    }
    return 0;
}

#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
long long dp[60][2],i,j,n,a[61],x=0,y=0,k=1,l=0;
int main(void)
{
	char s[60][60];
	scanf("%lld",&n);
	for(i=0;i<n;i++) scanf("%s",s[i]);
	dp[0][0]=1; dp[0][1]=1;
	for(i=0;i<n;i++){
		for(j=0;j<2;j++){
			if(s[i][0]=='O'){
				x=max(j,k); y=max(j,l);
				dp[i+1][x]+=dp[i][j];
				dp[i+1][y]+=dp[i][j];
			}
			else{
				x=min(j,k); y=min(j,l);
				dp[i+1][x]+=dp[i][j];
				dp[i+1][y]+=dp[i][j];
			}
		}
	}
	printf("%lld\n",dp[n][1]);
	return 0;
}