Sparking 2010. 12. 24. 14:52
속임수 카드놀이
Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 2541 Accepted: 1854

설명

마술사가 카드 뭉치를 잘 섞고서 전부 뒤집은 채로 잡은 뒤 다음 단계를 수행합니다:

  1. 맨 위에 있는 카드를 가장 아래로 옮깁니다. 새로이 맨 위에 있는 카드를 테이블 위로 꺼냅니다. 그 카드는 스페이드 에이스입니다.
  2. 맨 위에 있는 두 장의 카드를 맨 밑으로 옮깁니다. 그 다음 맨 위에 있는 카드를 테이블 위로 꺼냅니다. 그 카드는 스페이드 2 입니다.
  3. 맨 위에 있는 세 장의 카드를 맨 밑으로 옮기고…
  4. 이렇게 맨 위에 있는 n장의 카드를 맨 밑으로 옮기고 맨 위에 있는 카드를 테이블 위로 꺼내면 그 카드는 스페이드의 n번째 카드입니다.

이 트릭은 마술사가 어떻게 카드를 섞을지 미리 알고 있을때 가능합니다(그리고 어떻게 섞는것처럼 보이게 할 지를 알고 있어야 하지요). 당신의 프로그램은 1부터 13중 카드의 순서를 정해서 어떤걸 먼저 할 지 결정하는 것입니다.

입력

입력의 첫째 줄에는 테스트 케이스의 수를 나타내는 하나의 양정수가 들어갑니다. 각 테스트 케이스는 하나의 정수 n이 들어갑니다.

출력

각 테스트 케이스에 대해서 1 부터 n까지의 값 중 올바른 순열로 한 줄에 표기하는데, 이때 각 숫자들 사이엔 공백을 둡니다 . 첫 번째 숫자는 카드뭉치의 맨 위에 있는 카드를 나타내고 그 뒤는 같은 원리로…

입력 예시

2
4
5

출력 예시

2 1 4 3
3 1 4 5 2

Source