# 出栈序列

## 题目描述

给定一个由 $n$ 个元素构成的序列，你需要将其中的元素按顺序压入一个大小为 $c$ 的栈并弹出。元素按它们的出栈顺序进行排列，会得到一个新的序列。我们知道，这样的序列会有很多种，请输出所有新序列中第一个元素最小的序列（若第一个元素最小的序列有多个，则令第二个尽可能小；若仍有多个，则令第三个最小，以此类推）。

## 输入格式

第一行，两个整数 $n, c$。

第二行，$n$ 个数，为序列中 $n$ 个元素的值。

## 输出格式

输出 $n$ 个数，为满足要求的序列。

## 样例 #1

### 样例输入 #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]$ 内。