import java.util.*;

public class Main{
	public static void main(String args[]){
    	Scanner scanner = new Scanner(System.in);
        int N = scanner.nextInt();
      
        int[] A = new int[N];
        for(int i = 0; i < N; i++){
            A[i] = scanner.nextInt();
        }
		
        int max_first = 0;
        int max_second = 0;
        int count_max_first = 0;
      
        for(int i = 0; i < N; i++){
            if(A[i] > max_first){
                max_first = A[i];
            }
        } 
      
        for(int i = 0; i < N; i++){
            if(A[i] > max_second && A[i] != max_first){
                max_second = A[i];
            } else if(A[i] == max_first) {
                count_max_first++;
            }
        } 
      
        if(count_max_first > 1){
            max_second = max_first;
        }
      
        for(int i = 0; i < N; i++){
            if(A[i] == max_first){
                System.out.println(max_second);
            } else {
                System.out.println(max_first);
            }
        } 
    }
}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz