import 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();
		}
		sc.close();
		int high[]=new int[2];
		int highnum;
		high[0]=A[0];
		highnum=0;
		for(int j=1;j<N;j++) {
			if(high[0]<A[j]) {
				high[0]=A[j];
				highnum=j;
			}
		}
		if(high[0]!=A[0]) {
			high[1]=A[0];
		}else {
			high[1]=A[1];
		}
		for(int k=0;k<N;k++) {
			if(high[1]<A[k]&&highnum!=k) {
				high[1]=A[k];
			}
		}
		for(int l=0;l<N;l++) {
			if(l!=highnum) {
			System.out.println(high[0]);
			}else {
			System.out.println(high[1]);
			}
		}
	}
} import java.util.*; util.* java 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();
		}
		sc.close();
		int high[]=new int[2];
		int highnum;
		high[0]=A[0];
		highnum=0;
		for(int j=1;j<N;j++) {
			if(high[0]<A[j]) {
				high[0]=A[j];
				highnum=j;
			}
		}
		if(high[0]!=A[0]) {
			high[1]=A[0];
		}else {
			high[1]=A[1];
		}
		for(int k=0;k<N;k++) {
			if(high[1]<A[k]&&highnum!=k) {
				high[1]=A[k];
			}
		}
		for(int l=0;l<N;l++) {
			if(l!=highnum) {
			System.out.println(high[0]);
			}else {
			System.out.println(high[1]);
			}
		}
	}
} 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();
		}
		sc.close();
		int high[]=new int[2];
		int highnum;
		high[0]=A[0];
		highnum=0;
		for(int j=1;j<N;j++) {
			if(high[0]<A[j]) {
				high[0]=A[j];
				highnum=j;
			}
		}
		if(high[0]!=A[0]) {
			high[1]=A[0];
		}else {
			high[1]=A[1];
		}
		for(int k=0;k<N;k++) {
			if(high[1]<A[k]&&highnum!=k) {
				high[1]=A[k];
			}
		}
		for(int l=0;l<N;l++) {
			if(l!=highnum) {
			System.out.println(high[0]);
			}else {
			System.out.println(high[1]);
			}
		}
	} 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();
		}
		sc.close();
		int high[]=new int[2];
		int highnum;
		high[0]=A[0];
		highnum=0;
		for(int j=1;j<N;j++) {
			if(high[0]<A[j]) {
				high[0]=A[j];
				highnum=j;
			}
		}
		if(high[0]!=A[0]) {
			high[1]=A[0];
		}else {
			high[1]=A[1];
		}
		for(int k=0;k<N;k++) {
			if(high[1]<A[k]&&highnum!=k) {
				high[1]=A[k];
			}
		}
		for(int l=0;l<N;l++) {
			if(l!=highnum) {
			System.out.println(high[0]);
			}else {
			System.out.println(high[1]);
			}
		}
	} 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 sc.close() sc.close sc int high[]=new int[2]; high new int[2] 2 int highnum; highnum high[0]=A[0] high[0] high 0 A[0] A 0 highnum=0 highnum 0 for(int j=1;j<N;j++) {
			if(high[0]<A[j]) {
				high[0]=A[j];
				highnum=j;
			}
		} int j=1; int j=1; j 1 j<N j N j++ j++ j {
			if(high[0]<A[j]) {
				high[0]=A[j];
				highnum=j;
			}
		} {
			if(high[0]<A[j]) {
				high[0]=A[j];
				highnum=j;
			}
		} if(high[0]<A[j]) {
				high[0]=A[j];
				highnum=j;
			} high[0]<A[j] high[0] high 0 A[j] A j {
				high[0]=A[j];
				highnum=j;
			} high[0]=A[j] high[0] high 0 A[j] A j highnum=j highnum j if(high[0]!=A[0]) {
			high[1]=A[0];
		}else {
			high[1]=A[1];
		} high[0]!=A[0] high[0] high 0 A[0] A 0 {
			high[1]=A[0];
		} high[1]=A[0] high[1] high 1 A[0] A 0 {
			high[1]=A[1];
		} high[1]=A[1] high[1] high 1 A[1] A 1 for(int k=0;k<N;k++) {
			if(high[1]<A[k]&&highnum!=k) {
				high[1]=A[k];
			}
		} int k=0; int k=0; k 0 k<N k N k++ k++ k {
			if(high[1]<A[k]&&highnum!=k) {
				high[1]=A[k];
			}
		} {
			if(high[1]<A[k]&&highnum!=k) {
				high[1]=A[k];
			}
		} if(high[1]<A[k]&&highnum!=k) {
				high[1]=A[k];
			} high[1]<A[k]&&highnum!=k high[1]<A[k] high[1] high 1 A[k] A k highnum!=k highnum k {
				high[1]=A[k];
			} high[1]=A[k] high[1] high 1 A[k] A k for(int l=0;l<N;l++) {
			if(l!=highnum) {
			System.out.println(high[0]);
			}else {
			System.out.println(high[1]);
			}
		} int l=0; int l=0; l 0 l<N l N l++ l++ l {
			if(l!=highnum) {
			System.out.println(high[0]);
			}else {
			System.out.println(high[1]);
			}
		} {
			if(l!=highnum) {
			System.out.println(high[0]);
			}else {
			System.out.println(high[1]);
			}
		} if(l!=highnum) {
			System.out.println(high[0]);
			}else {
			System.out.println(high[1]);
			} l!=highnum l highnum {
			System.out.println(high[0]);
			} System.out.println(high[0]) System.out.println System.out System System.out high[0] high 0 {
			System.out.println(high[1]);
			} System.out.println(high[1]) System.out.println System.out System System.out high[1] high 1 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();
		}
		sc.close();
		int high[]=new int[2];
		int highnum;
		high[0]=A[0];
		highnum=0;
		for(int j=1;j<N;j++) {
			if(high[0]<A[j]) {
				high[0]=A[j];
				highnum=j;
			}
		}
		if(high[0]!=A[0]) {
			high[1]=A[0];
		}else {
			high[1]=A[1];
		}
		for(int k=0;k<N;k++) {
			if(high[1]<A[k]&&highnum!=k) {
				high[1]=A[k];
			}
		}
		for(int l=0;l<N;l++) {
			if(l!=highnum) {
			System.out.println(high[0]);
			}else {
			System.out.println(high[1]);
			}
		}
	}
} 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();
		}
		sc.close();
		int high[]=new int[2];
		int highnum;
		high[0]=A[0];
		highnum=0;
		for(int j=1;j<N;j++) {
			if(high[0]<A[j]) {
				high[0]=A[j];
				highnum=j;
			}
		}
		if(high[0]!=A[0]) {
			high[1]=A[0];
		}else {
			high[1]=A[1];
		}
		for(int k=0;k<N;k++) {
			if(high[1]<A[k]&&highnum!=k) {
				high[1]=A[k];
			}
		}
		for(int l=0;l<N;l++) {
			if(l!=highnum) {
			System.out.println(high[0]);
			}else {
			System.out.println(high[1]);
			}
		}
	}
} Main
import 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();
		}
		sc.close();
		int high[]=new int[2];
		int highnum;
		high[0]=A[0];
		highnum=0;
		for(int j=1;j<N;j++) {
			if(high[0]<A[j]) {
				high[0]=A[j];
				highnum=j;
			}
		}
		if(high[0]!=A[0]) {
			high[1]=A[0];
		}else {
			high[1]=A[1];
		}
		for(int k=0;k<N;k++) {
			if(high[1]<A[k]&&highnum!=k) {
				high[1]=A[k];
			}
		}
		for(int l=0;l<N;l++) {
			if(l!=highnum) {
			System.out.println(high[0]);
			}else {
			System.out.println(high[1]);
			}
		}
	}
}