import java.util.*;
public class Main {
    public static void main(String[] args) throws Exception{
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
        for(int i = 0; i < T; ++i){
            int n = sc.nextInt();
            List<Integer> org = new ArrayList<>();
            for(int j = 1; j <= n; ++j) org.add(j);  //生成原始队列
            Deque<Integer> ans = g(org);  //对原始队列作逆操作
            print(ans);
        }
    }
    static void print(Deque<Integer> v){    //打印输出
        while(!v.isEmpty()){
            if(v.size()==1)
                System.out.println(v.getFirst());
            else
                System.out.print(v.getFirst()+" ");
            v.removeFirst();
        }
    }
    static Deque<Integer> g(List<Integer> v){    //题给的队列操作的逆操作
        Deque<Integer> ans = new LinkedList<>();
        while(!v.isEmpty()){
            int x = v.get(v.size()-1);
            v.remove(v.size()-1);
            ans.addFirst(x);
            int y=ans.getLast();
            ans.removeLast();
            ans.addFirst(y);
        }
        return ans;
    }
}