using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        var N = int.Parse(Console.ReadLine());
        var A = new List<int>();
        for(int i = 0; i < N; i++)
        {
            A.Add(int.Parse(Console.ReadLine()));
        }

        // 降順ソートする
        var maxList = new List<int>(A);
        maxList.Sort((a, b) => (b - a));

        // 先頭二つを保存
        var max = maxList[0];
        var subMax = maxList[1];

        for(int i = 0; i < N - 1; i++)
        {
            if (A[i] == max) Console.WriteLine(subMax);
            Console.WriteLine(max);
        }
    }
}

