페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#2348

카드 섞기 1s 64MB

문제

카드게임을 할 때, 우리는 대체로 매 게임이 끝날 때마다 카드를 섞는다. 카드를 섞는 방법 중 리플 셔플이라는 방법이 있는데 리플 셔플이란 먼저 카드를 두 뭉치로 나눈 다음 두 뭉치의 카드가 서로 엇갈리게 하여 카드를 섞는 것을 뜻한다.

예를 들어 다음과 같은 순서로 카드가 배열되었다고 하자.

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
로그인해야 코드를 작성할 수 있어요.