#include<bits/stdc++.h>
using namespace std;
// N 个人围成一圈顺序编号,从1 号开始按1、2、3 顺序报数,报3者退出圈外,其余的人再从1、2、3 开始报数,报3 的人再退出圈外,依次类推。
// 请按退出顺序输出每个退出人的原序号。要求使用环行链表编程。
struct Node {
	int num;
	Node *next;
};

void quit(Node* &pre) {
	if (pre->next == pre) {
		printf("%d ", pre->num);
		return;
	}
	Node *t = pre->next;
	pre->next = t->next;
	printf("%d ", t->num);
	delete t;
	return;
}

int main() {
	int n, m;
	cin >> m;
	for (int j = 0; j < m; j++) {
		cin >> n;
		Node *head = new Node;
		head->num = 1;
		Node *tmp = head;
		for (int i = 2; i <= n; i++) {
			tmp->next = new Node;
			tmp = tmp->next;
			tmp->num = i;
		}
		tmp->next = head;
		while (tmp->next != tmp) {
			for (int i = 0; i < 2; i++) {
				tmp = tmp->next;
			}
			quit(tmp);
		}
		printf("%d\n", tmp->num);
	}
}