#include<bits/stdc++.h> usingnamespacestd; constint N = 1e6 + 10;
int n, m; int a[N]; int q[N]; int mx[N], mn[N];
intmain(){ cin >> n >> m; int top, tail; for (int i = 1; i <= n; i++) cin >> a[i]; top = tail = 0; for (int i = 1; i <= n; i++) { while (top < tail && a[q[tail - 1]] <= a[i]) tail--; q[tail++] = i; while (i > m && q[top] <= i - m) top++; mx[i] = a[q[top]]; }
top = tail = 0; for (int i = 1; i <= n; i++) { while (top < tail && a[q[tail - 1]] >= a[i]) tail--; q[tail++] = i; while (i > m && q[top] <= i - m) top++; mn[i] = a[q[top]]; } for (int i = m; i <= n; ++i) cout << mn[i] << ' '; cout << endl; for (int i = m; i <= n; ++i) cout << mx[i] << ' '; cout << endl; return0; }