Обновление ассортимента

В магазине есть n товаров с разными ценами. Когда покупатель выбирает какой-то товар, владельцу магазина важно быстро понять, какой товар будет самым дешёвым и какой — самым дорогим после удаления купленного товара из ассортимента. Вам поручено написать программу, которая для каждого товара по отдельности будет определять, какой товар станет самым дешёвым и самым дорогим, если убрать именно этот товар из списка. Обратите внимание, что удаления считаются независимыми: для каждого индекса удаляется только соответствующий элемент, а остальные остаются без изменений.

Входные данные

Первая строка содержит целое число n — общее количество товаров в магазине (1 ≤ n ≤ ).
Во второй строке перечислены n целых чисел, разделённых пробелом. Каждое число соответствует цене товара .

Выходные данные

Программа должна вывести n строк. В строке с номером i следует указать два числа — самую низкую и самую высокую цену среди оставшихся товаров после удаления i-го товара.

Примеры

Входные данные
Выходные данные
5 6 8 1 10 3
1 10 1 10 3 10 1 8 1 10
 

Constraints

Time limit: 4 seconds

Memory limit: 512 MB

Output limit: 10 MB

To check your solution you need to sign in
Sign in to continue