import java.util.Scanner;

public class Main{
	public static void main(String[]args){
		Scanner sc=new Scanner(System.in);

		int n=sc.nextInt();
		int a[]=new int[n];

		for(int i=0;i<n;i++){
			a[i]=sc.nextInt();
		}

		int max=0;
		int num=0;
		int nextMax=0;

		for(int i=0;i<n;i++){
			if(a[i]>max){
				max=a[i];
				num=i;
			}
		}

		for(int i=0;i<n;i++){
			if(a[i]>nextMax && i!=num){
				nextMax=a[i];
			}
		}

		for(int i=0;i<n;i++){
			if(i==num){
				System.out.println(nextMax);
			}else{
				System.out.println(max);
			}
		}


	}



} import java.util.Scanner; Scanner java.util public class Main{
	public static void main(String[]args){
		Scanner sc=new Scanner(System.in);

		int n=sc.nextInt();
		int a[]=new int[n];

		for(int i=0;i<n;i++){
			a[i]=sc.nextInt();
		}

		int max=0;
		int num=0;
		int nextMax=0;

		for(int i=0;i<n;i++){
			if(a[i]>max){
				max=a[i];
				num=i;
			}
		}

		for(int i=0;i<n;i++){
			if(a[i]>nextMax && i!=num){
				nextMax=a[i];
			}
		}

		for(int i=0;i<n;i++){
			if(i==num){
				System.out.println(nextMax);
			}else{
				System.out.println(max);
			}
		}


	}



} Main public static void main(String[]args){
		Scanner sc=new Scanner(System.in);

		int n=sc.nextInt();
		int a[]=new int[n];

		for(int i=0;i<n;i++){
			a[i]=sc.nextInt();
		}

		int max=0;
		int num=0;
		int nextMax=0;

		for(int i=0;i<n;i++){
			if(a[i]>max){
				max=a[i];
				num=i;
			}
		}

		for(int i=0;i<n;i++){
			if(a[i]>nextMax && i!=num){
				nextMax=a[i];
			}
		}

		for(int i=0;i<n;i++){
			if(i==num){
				System.out.println(nextMax);
			}else{
				System.out.println(max);
			}
		}


	} main {
		Scanner sc=new Scanner(System.in);

		int n=sc.nextInt();
		int a[]=new int[n];

		for(int i=0;i<n;i++){
			a[i]=sc.nextInt();
		}

		int max=0;
		int num=0;
		int nextMax=0;

		for(int i=0;i<n;i++){
			if(a[i]>max){
				max=a[i];
				num=i;
			}
		}

		for(int i=0;i<n;i++){
			if(a[i]>nextMax && i!=num){
				nextMax=a[i];
			}
		}

		for(int i=0;i<n;i++){
			if(i==num){
				System.out.println(nextMax);
			}else{
				System.out.println(max);
			}
		}


	} Scanner sc=new Scanner(System.in); sc new Scanner(System.in) int n=sc.nextInt(); n sc.nextInt() sc.nextInt sc int a[]=new int[n]; a new int[n] n for(int i=0;i<n;i++){
			a[i]=sc.nextInt();
		} int i=0; int i=0; i 0 i<n i n i++ i++ i {
			a[i]=sc.nextInt();
		} {
			a[i]=sc.nextInt();
		} a[i]=sc.nextInt() a[i] a i sc.nextInt() sc.nextInt sc int max=0; max 0 int num=0; num 0 int nextMax=0; nextMax 0 for(int i=0;i<n;i++){
			if(a[i]>max){
				max=a[i];
				num=i;
			}
		} int i=0; int i=0; i 0 i<n i n i++ i++ i {
			if(a[i]>max){
				max=a[i];
				num=i;
			}
		} {
			if(a[i]>max){
				max=a[i];
				num=i;
			}
		} if(a[i]>max){
				max=a[i];
				num=i;
			} a[i]>max a[i] a i max {
				max=a[i];
				num=i;
			} max=a[i] max a[i] a i num=i num i for(int i=0;i<n;i++){
			if(a[i]>nextMax && i!=num){
				nextMax=a[i];
			}
		} int i=0; int i=0; i 0 i<n i n i++ i++ i {
			if(a[i]>nextMax && i!=num){
				nextMax=a[i];
			}
		} {
			if(a[i]>nextMax && i!=num){
				nextMax=a[i];
			}
		} if(a[i]>nextMax && i!=num){
				nextMax=a[i];
			} a[i]>nextMax && i!=num a[i]>nextMax a[i] a i nextMax i!=num i num {
				nextMax=a[i];
			} nextMax=a[i] nextMax a[i] a i for(int i=0;i<n;i++){
			if(i==num){
				System.out.println(nextMax);
			}else{
				System.out.println(max);
			}
		} int i=0; int i=0; i 0 i<n i n i++ i++ i {
			if(i==num){
				System.out.println(nextMax);
			}else{
				System.out.println(max);
			}
		} {
			if(i==num){
				System.out.println(nextMax);
			}else{
				System.out.println(max);
			}
		} if(i==num){
				System.out.println(nextMax);
			}else{
				System.out.println(max);
			} i==num i num {
				System.out.println(nextMax);
			} System.out.println(nextMax) System.out.println System.out System System.out nextMax {
				System.out.println(max);
			} System.out.println(max) System.out.println System.out System System.out max String[]args args public class Main{
	public static void main(String[]args){
		Scanner sc=new Scanner(System.in);

		int n=sc.nextInt();
		int a[]=new int[n];

		for(int i=0;i<n;i++){
			a[i]=sc.nextInt();
		}

		int max=0;
		int num=0;
		int nextMax=0;

		for(int i=0;i<n;i++){
			if(a[i]>max){
				max=a[i];
				num=i;
			}
		}

		for(int i=0;i<n;i++){
			if(a[i]>nextMax && i!=num){
				nextMax=a[i];
			}
		}

		for(int i=0;i<n;i++){
			if(i==num){
				System.out.println(nextMax);
			}else{
				System.out.println(max);
			}
		}


	}



} public class Main{
	public static void main(String[]args){
		Scanner sc=new Scanner(System.in);

		int n=sc.nextInt();
		int a[]=new int[n];

		for(int i=0;i<n;i++){
			a[i]=sc.nextInt();
		}

		int max=0;
		int num=0;
		int nextMax=0;

		for(int i=0;i<n;i++){
			if(a[i]>max){
				max=a[i];
				num=i;
			}
		}

		for(int i=0;i<n;i++){
			if(a[i]>nextMax && i!=num){
				nextMax=a[i];
			}
		}

		for(int i=0;i<n;i++){
			if(i==num){
				System.out.println(nextMax);
			}else{
				System.out.println(max);
			}
		}


	}



} Main
import java.util.Scanner;

public class Main{
	public static void main(String[]args){
		Scanner sc=new Scanner(System.in);

		int n=sc.nextInt();
		int a[]=new int[n];

		for(int i=0;i<n;i++){
			a[i]=sc.nextInt();
		}

		int max=0;
		int num=0;
		int nextMax=0;

		for(int i=0;i<n;i++){
			if(a[i]>max){
				max=a[i];
				num=i;
			}
		}

		for(int i=0;i<n;i++){
			if(a[i]>nextMax && i!=num){
				nextMax=a[i];
			}
		}

		for(int i=0;i<n;i++){
			if(i==num){
				System.out.println(nextMax);
			}else{
				System.out.println(max);
			}
		}


	}



}
