7f52b39f47c5ccccb60056ccde250a5f316a18d11d3b92f969063b67d11b35bb
// https://szkopul.edu.pl/problemset/problem/vFeShEOnczXpanZEaYQpDnus/site/?key=statement
// OIG V (1 etap)
#include <iostream>
constexpr int sizik = 1000 * 1000 + 15;
int v[sizik];
int suf[sizik];
int main() {
std::ios_base::sync_with_stdio(0);
std::cin.tie(0);
std::cout.tie(0);
int n;
std::cin >> n;
if (n == 1) {
int a;
std::cin >> a;
std::cout << a << " " << a << '\n';
return 0;
}
if (n == 2) {
int a, b;
std::cin >> a >> b;
std::cout << a << " " << b << "\n" << a << " " << b << '\n';
return 0;
}
for (int i = 0; i < n; i++) {
std::cin >> v[i];
}
int l_max = v[n - 1];
for (int i = n - 1; i >= 0; i--) {
l_max = std::max(l_max, v[i]);
suf[i] = l_max;
}
l_max = v[0];
for (int i = 0; i < n; i++) {
l_max = std::max(l_max, v[i]);
std::cout << l_max << " " << suf[i] << '\n';
}
return 0;
}