$1$부터 $2n$까지의 수가 적힌 카드 $2n$장이 있으며, 위에서부터 $1, 2, 3, \dots, 2n$의 순서로 쌓여 있다.
이 카드 더미를 다음 두 가지 방법을 여러 번 사용하여 재배열한다.
정수 $k$로 컷 (cut)
위에서부터 $k$장을 더미 $A$로, 나머지 카드를 더미 $B$로 나눈 뒤, 더미 $A$ 위에 더미 $B$를 올린다. 즉 재배열한 뒤에는 위에서부터 더미 $B$의 카드가 오고, 그 아래에 더미 $A$의 카드가 놓인다.

리플 셔플 (riffle shuffle)
위에서부터 $n$장을 더미 $A$로, 나머지 $n$장을 더미 $B$로 나눈 뒤, 위에서부터 $A$의 $1$번째, $B$의 $1$번째, $A$의 $2$번째, $B$의 $2$번째, $\dots$, $A$의 $n$번째, $B$의 $n$번째 순서가 되도록 하나의 더미로 합친다.

주어지는 지시에 따라 카드를 모두 재배열한 뒤, 카드의 번호를 위에서부터 순서대로 출력하는 프로그램을 작성하라.
$2n$개의 줄을 출력한다. 첫째 줄에는 모든 재배열이 끝난 뒤 가장 위에 있는 카드의 번호를, 둘째 줄에는 위에서 두 번째 카드의 번호를 출력하며, 일반적으로 $i$째 줄에는 위에서 $i$번째 카드의 번호를 출력한다.