#include <iostream>
#include <queue>
using namespace std;
using T = pair<int, int>;
priority_queue<T, vector<T>, greater<T>> Q;
int main()
{
cin.sync_with_stdio(false), cout.sync_with_stdio(false);
int n, m;
cin >> n >> m;
for (int i = 1; i <= n; i++)
{
if (i == 1)
cout << 0 << '\n';
else
{
while (Q.top().second < i - m)
Q.pop();
cout << Q.top().first << '\n';
}
int a;
cin >> a;
Q.push({a, i});
}
return 0;
}