include [HTML_REMOVED]
include [HTML_REMOVED]
using namespace std;
typedef long long LL;
const int N = 1e6 + 10;
deque [HTML_REMOVED] dq;
int maxq[N];
int minq[N];
int q[N];
int main() {
int n,k;
cin >> n>>k;
for (int i = 0; i < n; i) {
int x;
cin >> x;
q[i] = x;
}
for (int i = 0; i < n; i) {
if (!dq.empty() && dq.front() < i - k + 1) {
dq.pop_front();
}
while (!dq.empty() && q[dq.back()]<= q[i])
{
dq.pop_back();
}
dq.push_back(i);
if (i + 1 >= k) {
maxq[i] = dq.front();
}
}
dq.clear();
for (int i = 0; i < n; i) {
if (!dq.empty() && dq.front() < i - k + 1) {
dq.pop_front();
}
while (!dq.empty() && q[dq.back()] >= q[i])
{
dq.pop_back();
}
dq.push_back(i);
if (i + 1 >= k) {
minq[i] = dq.front();
}
}
for (int i = k - 1; i < n; i) {
cout << q[minq[i]] << ‘ ‘;
}
putchar(‘\n’);
for (int i = k - 1; i < n; i++) {
cout << q[maxq[i]] << ‘ ‘;
}
}