섞기
시간 제한1초메모리 제한256 MB
2^n장의 카드에 재귀적 섞기를 t번 적용한 뒤 최종 순서를 출력한다.
문제
Byteasar는 카드 덱을 섞는 아주 훌륭한 재귀적 방법을 배웠다. 이 알고리즘은 다음과 같다.
- 카드 두 장을 섞으려면 두 장을 서로 바꾼다.
- 장의 카드()를 섞으려면 카드를 같은 크기의 두 부분, 즉 위쪽 부분과 아래쪽 부분으로 나눈다(각 부분은 장이다). 각 부분을 재귀적으로 섞은 다음, 아래쪽 절반을 위쪽 절반 위에 올린다.
Byteasar에게는 장의 카드 덱이 있다. 각 카드에는 수가 적혀 있다. Byteasar는 이제 위에서 설명한 절차를 정확히 번 실행하여 덱을 섞는다. 시간이 아주 오래 걸릴 수 있으므로, 그는 최종 카드 순서를 미리 알고 싶어 한다.
입력
입력의 첫째 줄에는 두 정수 가 주어진다(, ). 둘째 줄에는 개의 정수 가 주어진다(). 는 덱에서 위에서 번째 카드에 적힌 수이다.
출력
출력의 첫째 줄이자 유일한 줄에 번 섞은 뒤 Byteasar의 덱에 있는 카드에 적힌 수 개를 출력한다. 수는 위에서 아래 방향으로 출력한다.