在庫の更新

ショップには、それぞれ異なる価格を持つn個の商品があります。お客さんがある商品を購入した際に、その商品を取り除いたあとの在庫の中で、一番安い商品と一番高い商品が何かを素早く知りたいと考えています。そこで、在庫の各商品を一つ取り除いた場合に、そのときの最安値と最高値を求めるプログラムを実装するよう依頼されました。なお、商品を取り除く操作はそれぞれ独立して行います。つまり、ある商品を取り除くときは、そのほかの商品は元のままであるとみなします。

入力

最初の行には整数nが与えられます。これはショップにある商品の数を表し、(1 ≤ n ≤ ) を満たします。
次の行には、スペース区切りでn個の整数が与えられます。これは各商品の価格を表し、 の条件を満たします。

出力

出力はn行とし、各行 i には「商品 i を取り除いたあとの在庫の最安値」と「最高値」の2つの値をスペース区切りで出力してください。

Examples

入力
出力
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