#include <algorithm> #include <iostream> #include <limits> using std::cin; using std::cout; using std::endl; const int N = 300005; int n, c, l, r, a[N]; bool vis[N]; int main() { std::ios::sync_with_stdio(false); cin >> n >> c; for (int i = 1; i <= n; i++) { cin >> a[i]; } l = 1, r = c; for (int i = 1; i <= n; i++) { int p = std::min_element(a + l, a + r + 1) - a; cout << a[p] << ' '; vis[p] = true; a[p] = std::numeric_limits<int>::max(); while (p && vis[p]) p--; l = std::max(p, 1); r = std::min(r + 1, n); } cout << endl; return 0; }