#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int N=2e6+10;
vector <ll> mi;
vector <ll> mx;
deque <ll> q1;
deque <ll> q2;
ll n,k,a[N];
int main()
{
cin>>n>>k;
for(int i=1;i<=n;i++) cin>>a[i];
q1.push_front(1);
q2.push_front(1);
for(int i=2;i<=n;i++)
{
if(!q1.empty()&&i-k+1>q1.front()) q1.pop_front();
if(!q2.empty()&&i-k+1>q2.front()) q2.pop_front();
while(!q1.empty()&&a[i]>a[q1.back()]) q1.pop_back();
while(!q2.empty()&&a[i]<a[q2.back()]) q2.pop_back();
q2.push_back(i);
q1.push_back(i);
if(i>=k)
{
mx.push_back(a[q1.front()]);
mi.push_back(a[q2.front()]);
}
}
for(auto i:mi)
{
cout<<i<<" ";
}
cout<<endl;
for(auto i:mx)
{
cout<<i<<" ";
}
return 0;
}
违规自删