include<stdio.h>

include<string.h>

int main()
{
int k,n;
int i;
scanf("%d",&k);
while(k--)
{
scanf("%d",&n);
if(n==1)
{
printf("1\n");

    }
    else if(n==2)
    {
        printf("2 2\n");

    }
    else if(n%2==1)
    {
        for(i=2;i<n;i++)
        {
            printf("%d ",i);
        }
        for(i=2;i<n;i++)
        {if(i==n-1)
        {
            printf("%d\n",i);
        }
        else
            printf("%d ",i);
        }
    }
    else if(n%2==0)
    {
        for(i=2;i<n;i++)
        {
            printf("%d ",i);
        }
        for(i=n-1;i>=2;i--)
        {if(i==2)
        {
            printf("%d\n",i);
        }
        else

            printf("%d ",i);
        }
    }

}
return 0;

}

玫瑰花最差的情况是在最边上,从中间开始找,如果是奇数,例如7,则从2开始,找到6,最差情况是花开始在7,第一遍找完,花只能在6,再从2找一遍,找到6,则找到6的时候找到花。若为偶数,则从而开始找,最差情况在边上,例如6,花最初在1,从二开始找,找到5,这时花在2,再从五开始找,找到2,就可以找到花。
通过紧逼花的走向,来将花定位到第二位或倒二位,然后在紧逼一次就可以得到解。