# リストのうちmaxのインデックス以外は全てmaxを出力、maxのインデックスは2番目に大きい値を出力する
n = int(input())
a = list(int(input()) for _ in range(n))

# リストのmaxとmaxのインデックスを取得
a_max = max(a)
max_index_all = [i for i, x in enumerate(a) if x == a_max]

# リストからmaxを全部削除し、2番目に大きい値を取得
for i in max_index_all:
    a.pop(i)
a_second_max = max(a)


for i in range(n):
    # maxのインデックスでは、2番目に大きな値を出力
    if i in max_index_all:
        print(a_second_max)
    # max以外のインデックスでは、maxを出力
    else:
        print(a_max)