#include <iostream>
#include <vector>
#include <deque>
using namespace std;

int main()
{
  int n,k;
  cin >> n >> k;
  vector<int> a(n);
  deque<int> w;
  for (int i = 0; i < n; i++)
  {
    cin >> a[i];
  }
  for (int i = 0; i < n; i++)
  {
    if (!w.empty() && w.front() <= i - k)
      w.pop_front();
    while (!w.empty() && a[w.back()] >= a[i])
      w.pop_back();
    w.push_back(i);

    if (i >= k - 1)
      cout << a[w.front()] << ' ';
  }
  cout << endl;
  w.clear();
  for (int i = 0; i < n; i++)
  {
    if (!w.empty() && w.front() <= i - k)
      w.pop_front();
    while (!w.empty() && a[w.back()] <= a[i])
      w.pop_back();
    w.push_back(i);

    if (i >= k - 1)
      cout << a[w.front()] << ' ';
  }

  return 0;
}
