出栈序列

题目描述

给定一个由 $n$ 个元素构成的序列,你需要将其中的元素按顺序压入一个大小为 $c$ 的栈并弹出。元素按它们的出栈顺序进行排列,会得到一个新的序列。我们知道,这样的序列会有很多种,请输出所有新序列中第一个元素最小的序列(若第一个元素最小的序列有多个,则令第二个尽可能小;若仍有多个,则令第三个最小,以此类推)。

输入输出格式

输入格式


第一行,两个整数 $n, c$。 第二行,$n$ 个数,为序列中 $n$ 个元素的值。

输出格式


输出 $n$ 个数,为满足要求的序列。

输入输出样例

输入样例 #1

6 3
5 2 3 8 7 4

输出样例 #1

2 3 5 4 7 8

说明

对于 $40 \%$ 的数据,$n \le 12$; 对于 $100 \%$ 的数据,$1 \le c \le n \le 10000$,元素大小均在 $[1, 2 \times {10}^9]$ 内。