import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		
		Scanner sc=new Scanner(System.in);
		
		//数列の長さ
		int N=sc.nextInt();
		//各数字の数値
		ArrayList<Integer>numberArrayList=new ArrayList<>();
		
		for(int i=0;i<N;i++) {
			numberArrayList.add(sc.nextInt());
		}
		
		ArrayList<Integer>culculationNumber=new ArrayList<>(numberArrayList);
		Collections.sort(culculationNumber,Collections.reverseOrder());
		int max=Collections.max(culculationNumber);
		
		
		for(int i=0;i<N;i++) {
			if(max==numberArrayList.get(i)) {
				System.out.println(culculationNumber.get(1));
			}else {
				System.out.println(max);
			}
			
		}
	}

} import java.util.ArrayList; ArrayList java.util import java.util.Collections; Collections java.util import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		
		Scanner sc=new Scanner(System.in);
		
		//数列の長さ
		int N=sc.nextInt();
		//各数字の数値
		ArrayList<Integer>numberArrayList=new ArrayList<>();
		
		for(int i=0;i<N;i++) {
			numberArrayList.add(sc.nextInt());
		}
		
		ArrayList<Integer>culculationNumber=new ArrayList<>(numberArrayList);
		Collections.sort(culculationNumber,Collections.reverseOrder());
		int max=Collections.max(culculationNumber);
		
		
		for(int i=0;i<N;i++) {
			if(max==numberArrayList.get(i)) {
				System.out.println(culculationNumber.get(1));
			}else {
				System.out.println(max);
			}
			
		}
	}

} Main public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		
		Scanner sc=new Scanner(System.in);
		
		//数列の長さ
		int N=sc.nextInt();
		//各数字の数値
		ArrayList<Integer>numberArrayList=new ArrayList<>();
		
		for(int i=0;i<N;i++) {
			numberArrayList.add(sc.nextInt());
		}
		
		ArrayList<Integer>culculationNumber=new ArrayList<>(numberArrayList);
		Collections.sort(culculationNumber,Collections.reverseOrder());
		int max=Collections.max(culculationNumber);
		
		
		for(int i=0;i<N;i++) {
			if(max==numberArrayList.get(i)) {
				System.out.println(culculationNumber.get(1));
			}else {
				System.out.println(max);
			}
			
		}
	} main {
		// TODO 自動生成されたメソッド・スタブ
		
		Scanner sc=new Scanner(System.in);
		
		//数列の長さ
		int N=sc.nextInt();
		//各数字の数値
		ArrayList<Integer>numberArrayList=new ArrayList<>();
		
		for(int i=0;i<N;i++) {
			numberArrayList.add(sc.nextInt());
		}
		
		ArrayList<Integer>culculationNumber=new ArrayList<>(numberArrayList);
		Collections.sort(culculationNumber,Collections.reverseOrder());
		int max=Collections.max(culculationNumber);
		
		
		for(int i=0;i<N;i++) {
			if(max==numberArrayList.get(i)) {
				System.out.println(culculationNumber.get(1));
			}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 ArrayList<Integer>numberArrayList=new ArrayList<>(); numberArrayList new ArrayList<>() for(int i=0;i<N;i++) {
			numberArrayList.add(sc.nextInt());
		} int i=0; int i=0; i 0 i<N i N i++ i++ i {
			numberArrayList.add(sc.nextInt());
		} {
			numberArrayList.add(sc.nextInt());
		} numberArrayList.add(sc.nextInt()) numberArrayList.add numberArrayList sc.nextInt() sc.nextInt sc ArrayList<Integer>culculationNumber=new ArrayList<>(numberArrayList); culculationNumber new ArrayList<>(numberArrayList) Collections.sort(culculationNumber,Collections.reverseOrder()) Collections.sort Collections culculationNumber Collections.reverseOrder() Collections.reverseOrder Collections int max=Collections.max(culculationNumber); max Collections.max(culculationNumber) Collections.max Collections culculationNumber for(int i=0;i<N;i++) {
			if(max==numberArrayList.get(i)) {
				System.out.println(culculationNumber.get(1));
			}else {
				System.out.println(max);
			}
			
		} int i=0; int i=0; i 0 i<N i N i++ i++ i {
			if(max==numberArrayList.get(i)) {
				System.out.println(culculationNumber.get(1));
			}else {
				System.out.println(max);
			}
			
		} {
			if(max==numberArrayList.get(i)) {
				System.out.println(culculationNumber.get(1));
			}else {
				System.out.println(max);
			}
			
		} if(max==numberArrayList.get(i)) {
				System.out.println(culculationNumber.get(1));
			}else {
				System.out.println(max);
			} max==numberArrayList.get(i) max numberArrayList.get(i) numberArrayList.get numberArrayList i {
				System.out.println(culculationNumber.get(1));
			} System.out.println(culculationNumber.get(1)) System.out.println System.out System System.out culculationNumber.get(1) culculationNumber.get culculationNumber 1 {
				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) {
		// TODO 自動生成されたメソッド・スタブ
		
		Scanner sc=new Scanner(System.in);
		
		//数列の長さ
		int N=sc.nextInt();
		//各数字の数値
		ArrayList<Integer>numberArrayList=new ArrayList<>();
		
		for(int i=0;i<N;i++) {
			numberArrayList.add(sc.nextInt());
		}
		
		ArrayList<Integer>culculationNumber=new ArrayList<>(numberArrayList);
		Collections.sort(culculationNumber,Collections.reverseOrder());
		int max=Collections.max(culculationNumber);
		
		
		for(int i=0;i<N;i++) {
			if(max==numberArrayList.get(i)) {
				System.out.println(culculationNumber.get(1));
			}else {
				System.out.println(max);
			}
			
		}
	}

} public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		
		Scanner sc=new Scanner(System.in);
		
		//数列の長さ
		int N=sc.nextInt();
		//各数字の数値
		ArrayList<Integer>numberArrayList=new ArrayList<>();
		
		for(int i=0;i<N;i++) {
			numberArrayList.add(sc.nextInt());
		}
		
		ArrayList<Integer>culculationNumber=new ArrayList<>(numberArrayList);
		Collections.sort(culculationNumber,Collections.reverseOrder());
		int max=Collections.max(culculationNumber);
		
		
		for(int i=0;i<N;i++) {
			if(max==numberArrayList.get(i)) {
				System.out.println(culculationNumber.get(1));
			}else {
				System.out.println(max);
			}
			
		}
	}

} Main
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		
		Scanner sc=new Scanner(System.in);
		
		//数列の長さ
		int N=sc.nextInt();
		//各数字の数値
		ArrayList<Integer>numberArrayList=new ArrayList<>();
		
		for(int i=0;i<N;i++) {
			numberArrayList.add(sc.nextInt());
		}
		
		ArrayList<Integer>culculationNumber=new ArrayList<>(numberArrayList);
		Collections.sort(culculationNumber,Collections.reverseOrder());
		int max=Collections.max(culculationNumber);
		
		
		for(int i=0;i<N;i++) {
			if(max==numberArrayList.get(i)) {
				System.out.println(culculationNumber.get(1));
			}else {
				System.out.println(max);
			}
			
		}
	}

}
