int a[1000010], q[1000010], st = -1, ed = 0;
int main()
{
int n, k;
cin >> n >> k;
for(int i = 0; i < n; i ++){
cin >> a[i];
}
for(int i = 0; i < n ; i ++){
if(ed > st + 1 && q[st + 1] < i - k + 1){
st++;
}
while(ed > st + 1 && a[q[ed - 1]] >= a[i]){
ed --;
}
q[ed++] = i;
if(i + 1 >= k)
cout << a[q[st + 1]] << " ";
}
cout << endl;
st = -1; ed = 0;
for(int i = 0; i < n ; i ++){
if(ed > st + 1 && q[st + 1] < i - k + 1){
st++;
}
while(ed > st + 1 && a[q[ed - 1]] <= a[i]){
ed --;
}
q[ed++] = i;
if(i + 1 >= k)
cout << a[q[st + 1]] << " ";
}
}