#include <bits/stdc++.h>
using namespace std;
int m,n;
int a[1000001];
deque <int> p,q;
void da()
{
p.push_back(a[1]);
for(int i = 2;i <= n;i++)
{
while(a[i] >= p.front() && !p.empty())
{
p.pop_front();
}
p.push_back(a[i]);
}
cout << p.front() << " ";
for(int i = 1;i <= m - n;i++)
{
if(a[i] == p.front())
{
p.pop_front();
}
while(a[n+i] >= p.back() && !p.empty())
{
p.pop_back();
}
p.push_back(a[n+i]);
cout << p.front() << " ";
}
}
void xiao()
{
q.push_back(a[1]);
for(int i = 2;i <= n;i++)
{
while(a[i] <= q.front() && !q.empty())
{
q.pop_front();
}
q.push_back(a[i]);
}
cout << q.front() << " ";
for(int i = 1;i <= m - n;i++)
{
if(a[i] == q.front())
{
q.pop_front();
}
while(a[n+i] <= q.back() && !q.empty())
{
q.pop_back();
}
q.push_back(a[n+i]);
cout << q.front() << " ";
}
cout << endl;
}
int main()
{
cin >> m >> n;
for(int i = 1;i <= m;i++)
{
cin >> a[i];
}
xiao();
da();
return 0;
}