import java.util.*;

public class Main {
	
	public static void main(String[] args)  {
		Scanner scan = new Scanner(System.in);
		int n=Integer.parseInt(scan.next());
		int max1=0;// the largest
		int max2=0;// second largest 
		int a;
		int index=0;
		for (int i=0;i<n;++i) {
			a=Integer.parseInt(scan.next());
			if (a>max1) {
				max2=max1;
				max1=a;
				index=i;
			}else {
				max2=Math.max(max2, a);
			}			
		}
		
		for (int i=0;i<n;++i) {
			if (i==index) {
				System.out.println(max2);
			}else {
				System.out.println(max1);
			}
		}
		
}
}
//end import java.util.*; util.* java public class Main {
	
	public static void main(String[] args)  {
		Scanner scan = new Scanner(System.in);
		int n=Integer.parseInt(scan.next());
		int max1=0;// the largest
		int max2=0;// second largest 
		int a;
		int index=0;
		for (int i=0;i<n;++i) {
			a=Integer.parseInt(scan.next());
			if (a>max1) {
				max2=max1;
				max1=a;
				index=i;
			}else {
				max2=Math.max(max2, a);
			}			
		}
		
		for (int i=0;i<n;++i) {
			if (i==index) {
				System.out.println(max2);
			}else {
				System.out.println(max1);
			}
		}
		
}
} Main public static void main(String[] args)  {
		Scanner scan = new Scanner(System.in);
		int n=Integer.parseInt(scan.next());
		int max1=0;// the largest
		int max2=0;// second largest 
		int a;
		int index=0;
		for (int i=0;i<n;++i) {
			a=Integer.parseInt(scan.next());
			if (a>max1) {
				max2=max1;
				max1=a;
				index=i;
			}else {
				max2=Math.max(max2, a);
			}			
		}
		
		for (int i=0;i<n;++i) {
			if (i==index) {
				System.out.println(max2);
			}else {
				System.out.println(max1);
			}
		}
		
} main {
		Scanner scan = new Scanner(System.in);
		int n=Integer.parseInt(scan.next());
		int max1=0;// the largest
		int max2=0;// second largest 
		int a;
		int index=0;
		for (int i=0;i<n;++i) {
			a=Integer.parseInt(scan.next());
			if (a>max1) {
				max2=max1;
				max1=a;
				index=i;
			}else {
				max2=Math.max(max2, a);
			}			
		}
		
		for (int i=0;i<n;++i) {
			if (i==index) {
				System.out.println(max2);
			}else {
				System.out.println(max1);
			}
		}
		
} Scanner scan = new Scanner(System.in); scan new Scanner(System.in) int n=Integer.parseInt(scan.next()); n Integer.parseInt(scan.next()) Integer.parseInt Integer scan.next() scan.next scan int max1=0; max1 0 int max2=0; max2 0 int a; a int index=0; index 0 for (int i=0;i<n;++i) {
			a=Integer.parseInt(scan.next());
			if (a>max1) {
				max2=max1;
				max1=a;
				index=i;
			}else {
				max2=Math.max(max2, a);
			}			
		} int i=0; int i=0; i 0 i<n i n ++i ++i i {
			a=Integer.parseInt(scan.next());
			if (a>max1) {
				max2=max1;
				max1=a;
				index=i;
			}else {
				max2=Math.max(max2, a);
			}			
		} {
			a=Integer.parseInt(scan.next());
			if (a>max1) {
				max2=max1;
				max1=a;
				index=i;
			}else {
				max2=Math.max(max2, a);
			}			
		} a=Integer.parseInt(scan.next()) a Integer.parseInt(scan.next()) Integer.parseInt Integer scan.next() scan.next scan if (a>max1) {
				max2=max1;
				max1=a;
				index=i;
			}else {
				max2=Math.max(max2, a);
			} a>max1 a max1 {
				max2=max1;
				max1=a;
				index=i;
			} max2=max1 max2 max1 max1=a max1 a index=i index i {
				max2=Math.max(max2, a);
			} max2=Math.max(max2, a) max2 Math.max(max2, a) Math.max Math max2 a for (int i=0;i<n;++i) {
			if (i==index) {
				System.out.println(max2);
			}else {
				System.out.println(max1);
			}
		} int i=0; int i=0; i 0 i<n i n ++i ++i i {
			if (i==index) {
				System.out.println(max2);
			}else {
				System.out.println(max1);
			}
		} {
			if (i==index) {
				System.out.println(max2);
			}else {
				System.out.println(max1);
			}
		} if (i==index) {
				System.out.println(max2);
			}else {
				System.out.println(max1);
			} i==index i index {
				System.out.println(max2);
			} System.out.println(max2) System.out.println System.out System System.out max2 {
				System.out.println(max1);
			} System.out.println(max1) System.out.println System.out System System.out max1 String[] args args public class Main {
	
	public static void main(String[] args)  {
		Scanner scan = new Scanner(System.in);
		int n=Integer.parseInt(scan.next());
		int max1=0;// the largest
		int max2=0;// second largest 
		int a;
		int index=0;
		for (int i=0;i<n;++i) {
			a=Integer.parseInt(scan.next());
			if (a>max1) {
				max2=max1;
				max1=a;
				index=i;
			}else {
				max2=Math.max(max2, a);
			}			
		}
		
		for (int i=0;i<n;++i) {
			if (i==index) {
				System.out.println(max2);
			}else {
				System.out.println(max1);
			}
		}
		
}
} public class Main {
	
	public static void main(String[] args)  {
		Scanner scan = new Scanner(System.in);
		int n=Integer.parseInt(scan.next());
		int max1=0;// the largest
		int max2=0;// second largest 
		int a;
		int index=0;
		for (int i=0;i<n;++i) {
			a=Integer.parseInt(scan.next());
			if (a>max1) {
				max2=max1;
				max1=a;
				index=i;
			}else {
				max2=Math.max(max2, a);
			}			
		}
		
		for (int i=0;i<n;++i) {
			if (i==index) {
				System.out.println(max2);
			}else {
				System.out.println(max1);
			}
		}
		
}
} Main
import java.util.*;

public class Main {
	
	public static void main(String[] args)  {
		Scanner scan = new Scanner(System.in);
		int n=Integer.parseInt(scan.next());
		int max1=0;// the largest
		int max2=0;// second largest 
		int a;
		int index=0;
		for (int i=0;i<n;++i) {
			a=Integer.parseInt(scan.next());
			if (a>max1) {
				max2=max1;
				max1=a;
				index=i;
			}else {
				max2=Math.max(max2, a);
			}			
		}
		
		for (int i=0;i<n;++i) {
			if (i==index) {
				System.out.println(max2);
			}else {
				System.out.println(max1);
			}
		}
		
}
}
//end