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];
		int max1 = a[0];
		int max2 = a[0];
		int idx = 0;
		for (int i = 0; i < a.length; i++) {
			a[i] = sc.nextInt();
			if (max1 < a[i]) {
				idx = i;
				max1 = a[i];
			} else if(max2 <= a[i]) {
				max2 = a[i];
			}
		}
		for (int i = 0; i < a.length; i++) {
			if (i != idx) {
				System.out.println(max1);
			} else {
				System.out.println(max2);
			}
		}
	}
} 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];
		int max1 = a[0];
		int max2 = a[0];
		int idx = 0;
		for (int i = 0; i < a.length; i++) {
			a[i] = sc.nextInt();
			if (max1 < a[i]) {
				idx = i;
				max1 = a[i];
			} else if(max2 <= a[i]) {
				max2 = a[i];
			}
		}
		for (int i = 0; i < a.length; i++) {
			if (i != idx) {
				System.out.println(max1);
			} else {
				System.out.println(max2);
			}
		}
	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int a[] = new int[N];
		int max1 = a[0];
		int max2 = a[0];
		int idx = 0;
		for (int i = 0; i < a.length; i++) {
			a[i] = sc.nextInt();
			if (max1 < a[i]) {
				idx = i;
				max1 = a[i];
			} else if(max2 <= a[i]) {
				max2 = a[i];
			}
		}
		for (int i = 0; i < a.length; i++) {
			if (i != idx) {
				System.out.println(max1);
			} else {
				System.out.println(max2);
			}
		}
	} main {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int a[] = new int[N];
		int max1 = a[0];
		int max2 = a[0];
		int idx = 0;
		for (int i = 0; i < a.length; i++) {
			a[i] = sc.nextInt();
			if (max1 < a[i]) {
				idx = i;
				max1 = a[i];
			} else if(max2 <= a[i]) {
				max2 = a[i];
			}
		}
		for (int i = 0; i < a.length; i++) {
			if (i != idx) {
				System.out.println(max1);
			} else {
				System.out.println(max2);
			}
		}
	} 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 int max1 = a[0]; max1 a[0] a 0 int max2 = a[0]; max2 a[0] a 0 int idx = 0; idx 0 for (int i = 0; i < a.length; i++) {
			a[i] = sc.nextInt();
			if (max1 < a[i]) {
				idx = i;
				max1 = a[i];
			} else if(max2 <= a[i]) {
				max2 = a[i];
			}
		} int i = 0; int i = 0; i 0 i < a.length i a.length a a.length i++ i++ i {
			a[i] = sc.nextInt();
			if (max1 < a[i]) {
				idx = i;
				max1 = a[i];
			} else if(max2 <= a[i]) {
				max2 = a[i];
			}
		} {
			a[i] = sc.nextInt();
			if (max1 < a[i]) {
				idx = i;
				max1 = a[i];
			} else if(max2 <= a[i]) {
				max2 = a[i];
			}
		} a[i] = sc.nextInt() a[i] a i sc.nextInt() sc.nextInt sc if (max1 < a[i]) {
				idx = i;
				max1 = a[i];
			} else if(max2 <= a[i]) {
				max2 = a[i];
			} max1 < a[i] max1 a[i] a i {
				idx = i;
				max1 = a[i];
			} idx = i idx i max1 = a[i] max1 a[i] a i if(max2 <= a[i]) {
				max2 = a[i];
			} max2 <= a[i] max2 a[i] a i {
				max2 = a[i];
			} max2 = a[i] max2 a[i] a i for (int i = 0; i < a.length; i++) {
			if (i != idx) {
				System.out.println(max1);
			} else {
				System.out.println(max2);
			}
		} int i = 0; int i = 0; i 0 i < a.length i a.length a a.length i++ i++ i {
			if (i != idx) {
				System.out.println(max1);
			} else {
				System.out.println(max2);
			}
		} {
			if (i != idx) {
				System.out.println(max1);
			} else {
				System.out.println(max2);
			}
		} if (i != idx) {
				System.out.println(max1);
			} else {
				System.out.println(max2);
			} i != idx i idx {
				System.out.println(max1);
			} System.out.println(max1) System.out.println System.out System System.out max1 {
				System.out.println(max2);
			} System.out.println(max2) System.out.println System.out System System.out max2 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];
		int max1 = a[0];
		int max2 = a[0];
		int idx = 0;
		for (int i = 0; i < a.length; i++) {
			a[i] = sc.nextInt();
			if (max1 < a[i]) {
				idx = i;
				max1 = a[i];
			} else if(max2 <= a[i]) {
				max2 = a[i];
			}
		}
		for (int i = 0; i < a.length; i++) {
			if (i != idx) {
				System.out.println(max1);
			} else {
				System.out.println(max2);
			}
		}
	}
} public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int a[] = new int[N];
		int max1 = a[0];
		int max2 = a[0];
		int idx = 0;
		for (int i = 0; i < a.length; i++) {
			a[i] = sc.nextInt();
			if (max1 < a[i]) {
				idx = i;
				max1 = a[i];
			} else if(max2 <= a[i]) {
				max2 = a[i];
			}
		}
		for (int i = 0; i < a.length; i++) {
			if (i != idx) {
				System.out.println(max1);
			} else {
				System.out.println(max2);
			}
		}
	}
} 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];
		int max1 = a[0];
		int max2 = a[0];
		int idx = 0;
		for (int i = 0; i < a.length; i++) {
			a[i] = sc.nextInt();
			if (max1 < a[i]) {
				idx = i;
				max1 = a[i];
			} else if(max2 <= a[i]) {
				max2 = a[i];
			}
		}
		for (int i = 0; i < a.length; i++) {
			if (i != idx) {
				System.out.println(max1);
			} else {
				System.out.println(max2);
			}
		}
	}
}
