문제
카드게임을 할 때, 우리는 대체로 매 게임이 끝날 때마다 카드를 섞는다. 카드를 섞는 방법 중 리플 셔플이라는 방법이 있는데 리플 셔플이란 먼저 카드를 두 뭉치로 나눈 다음 두 뭉치의 카드가 서로 엇갈리게 하여 카드를 섞는 것을 뜻한다.
예를 들어 다음과 같은 순서로 카드가 배열되었다고 하자.
1 3 5 7 9 2 4 6 8 10
위의 카드를 한 번 리플 셔플 하게 되면 아래와 같이
1 2 3 4 5 6 7 8 9 10
이 된다.
여기서 맨 앞의 숫자는 맨 위에 쌓여있는 카드이고, 맨 뒤의 숫자는 맨 아래 놓여있는 카드이다.
카드를 섞는 횟수 N이 주어질 때 10개의 카드를 N번 리플 셔플 하면 1에서 부터 10까지 순차적으로 정렬된다고 한다. 이때 초기 카드의 상태를 구하는 프로그램을 작성하시오.
입력
리플 셔플의 횟수 N(0≤N≤2,147,483,647)이 입력된다.
출력
N번의 리플 셔플을 거치기 전의 카드 상태를 쌓인 순서대로(맨 위부터 아래순으로) 출력한다.
예제
2
1 5 9 4 8 3 7 2 6 10