#include <iostream>

const int N=55;
using namespace std;

int ne[N];
int m;

int main() {
    cin>>m;
    while(m--)
    {
       int n;
       cin>>n;

       for(int i=1; i<n; i++) ne[i]=i+1;//用一个数组来模拟环形链表,
	   ne[n]=1;                         //ne[N]存储链表下一个元素位置,
	                                    //为了形成环形链表,让ne[n]=1

       int p=n;//模拟指针,指向第一个元素的前一个元素
	           //链表中指向目标元素的前一个元素才可以进行删除与修改,方便操作。
       for(int i=0; i<n; i++)//要建所有n个元素输出
       {
         p=ne[ne[p]];//模拟链表的连续移动两次,从而指向第三个元素的前一个元素
         cout<<ne[p]<<' ';//输出目标元素
         ne[p]=ne[ne[p]];//模拟链表删除目标元素
       }
       cout<<endl;
       
    }
    return 0;
    //本题做法非原创,作者由acwing相同题目yxc处学习到该方法


}

数组模拟链表: