잘목시스
시간 제한1초메모리 제한512 MB
S에 K개의 값을 끼워 넣어 길이가 N+K인 ZalSequence를 만듭니다. 각 값 v는 깊이가 30-v인 잎에 해당하는 이진 분할 트리의 값입니다.
문제
다나카는 다키아 신화에 관심을 갖게 되었다(다키아인은 로마인이 오기 전에 지금의 루마니아 지역에 살았던 민족이다). 이 신화에서 잘목시스는 최고의 신이었고, 플레이스토로스는 전쟁의 신이었다. 다나카가 새롭게 해석한 신화에서 잘목시스에게는 강력한 새 공격인 ZalPunch가 있고, 그는 ZalSequence를 좋아한다.
ZalPunch는 음이 아닌 정수로 이루어진 수열에 적용할 수 있는 공격이다. 수열에서 양의 정수 하나를 골라 두 개로 바꾼다. 예를 들면 다음과 같다.
[1]은[0, 0]이 된다.[1, 23, 3]은[1, 22, 22, 3]이 된다.- 하지만
[1, 3]은[2, 1, 2]가 되지 않는다. 수열에서 원소의 순서가 중요하기 때문이다.
ZalSequence는 잘목시스가 좋아하는 수열이며, 다음 중 하나에 해당하는 수열이다.
- 수열
[30]. - 다른 ZalSequence에 ZalPunch를 적용해서 얻을 수 있는 수열.
예를 들어 [30], [29, 29], [29, 28, 27, 27]은 ZalSequence이지만 [28, 29, 28]은 아니다.
처음에 잘목시스는 길이가 인 ZalSequence를 만든다. 그런데 적 중 한 명이 이 수열의 값 중 개를 없애서, 남은 값은 개가 된다. 이 수열을 라고 하자. , , 가 주어졌을 때, 에 값 개를 끼워 넣어 길이가 인 임의의 ZalSequence를 만들어라. 모든 테스트 케이스에서 이것이 가능함이 보장된다.
입력
첫째 줄에 양의 정수 과 가 주어진다.
다음 줄에는 의 값인 음이 아닌 정수 개가 주어진다.
출력
한 줄에 길이가 인 음이 아닌 정수 수열을 출력한다. 이 수열은 ZalSequence이고, 를 부분 수열로 포함한다. 의 원소는 출력에서 떨어진 위치에 있을 수도 있다.
제한
- 입력으로 주어지는 수열은 길이가 인 ZalSequence의 부분 수열이다.
힌트
첫 번째 예제에서 [29, 27, 25, 25, 26, 28]은 다음 ZalPunch를 차례로 적용해서 [30]으로부터 얻을 수 있다.
[30] → [29, 29] → [29, 28, 28] → [29, 27, 27, 28] → [29, 27, 26, 26, 28] → [29, 27, 25, 25, 26, 28]
두 번째 예제에서 [29, 28, 27, 26, 25, 25]는 다음 ZalPunch를 차례로 적용해서 [30]으로부터 얻을 수 있다.
[30] → [29, 29] → [29, 28, 28] → [29, 28, 27, 27] → [29, 28, 27, 26, 26] → [29, 28, 27, 26, 25, 25]