import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] A = new int[n];
        int[] N = new int[200001];
        int m1 = 0, m2 = 0;
        for(int i = 0; i < n; i++) {
            A[i] = Integer.parseInt(sc.next());
            if(A[i] > m1) m1 = A[i];
            else if(A[i] > m2) m2 = A[i];
            N[A[i]]++;
        }
        for(int i = 0; i < n; i++) {
            if(A[i] == m1 && N[m1] == 1) sb.append(m2 + "\n");
            else sb.append(m1 + "\n");
        }
        System.out.print(sb);
    }
} import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] A = new int[n];
        int[] N = new int[200001];
        int m1 = 0, m2 = 0;
        for(int i = 0; i < n; i++) {
            A[i] = Integer.parseInt(sc.next());
            if(A[i] > m1) m1 = A[i];
            else if(A[i] > m2) m2 = A[i];
            N[A[i]]++;
        }
        for(int i = 0; i < n; i++) {
            if(A[i] == m1 && N[m1] == 1) sb.append(m2 + "\n");
            else sb.append(m1 + "\n");
        }
        System.out.print(sb);
    }
} Main public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] A = new int[n];
        int[] N = new int[200001];
        int m1 = 0, m2 = 0;
        for(int i = 0; i < n; i++) {
            A[i] = Integer.parseInt(sc.next());
            if(A[i] > m1) m1 = A[i];
            else if(A[i] > m2) m2 = A[i];
            N[A[i]]++;
        }
        for(int i = 0; i < n; i++) {
            if(A[i] == m1 && N[m1] == 1) sb.append(m2 + "\n");
            else sb.append(m1 + "\n");
        }
        System.out.print(sb);
    } main {
        StringBuilder sb = new StringBuilder();
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] A = new int[n];
        int[] N = new int[200001];
        int m1 = 0, m2 = 0;
        for(int i = 0; i < n; i++) {
            A[i] = Integer.parseInt(sc.next());
            if(A[i] > m1) m1 = A[i];
            else if(A[i] > m2) m2 = A[i];
            N[A[i]]++;
        }
        for(int i = 0; i < n; i++) {
            if(A[i] == m1 && N[m1] == 1) sb.append(m2 + "\n");
            else sb.append(m1 + "\n");
        }
        System.out.print(sb);
    } StringBuilder sb = new StringBuilder(); sb new StringBuilder() 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[] N = new int[200001]; N new int[200001] 200001 int m1 = 0 m1 0 m2 = 0; m2 0 for(int i = 0; i < n; i++) {
            A[i] = Integer.parseInt(sc.next());
            if(A[i] > m1) m1 = A[i];
            else if(A[i] > m2) m2 = A[i];
            N[A[i]]++;
        } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
            A[i] = Integer.parseInt(sc.next());
            if(A[i] > m1) m1 = A[i];
            else if(A[i] > m2) m2 = A[i];
            N[A[i]]++;
        } {
            A[i] = Integer.parseInt(sc.next());
            if(A[i] > m1) m1 = A[i];
            else if(A[i] > m2) m2 = A[i];
            N[A[i]]++;
        } A[i] = Integer.parseInt(sc.next()) A[i] A i Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc if(A[i] > m1) m1 = A[i];
            else if(A[i] > m2) m2 = A[i]; A[i] > m1 A[i] A i m1 m1 = A[i] m1 A[i] A i if(A[i] > m2) m2 = A[i]; A[i] > m2 A[i] A i m2 m2 = A[i] m2 A[i] A i N[A[i]]++ N[A[i]] N A[i] A i for(int i = 0; i < n; i++) {
            if(A[i] == m1 && N[m1] == 1) sb.append(m2 + "\n");
            else sb.append(m1 + "\n");
        } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
            if(A[i] == m1 && N[m1] == 1) sb.append(m2 + "\n");
            else sb.append(m1 + "\n");
        } {
            if(A[i] == m1 && N[m1] == 1) sb.append(m2 + "\n");
            else sb.append(m1 + "\n");
        } if(A[i] == m1 && N[m1] == 1) sb.append(m2 + "\n");
            else sb.append(m1 + "\n"); A[i] == m1 && N[m1] == 1 A[i] == m1 A[i] A i m1 N[m1] == 1 N[m1] N m1 1 sb.append(m2 + "\n") sb.append sb m2 + "\n" m2 "\n" sb.append(m1 + "\n") sb.append sb m1 + "\n" m1 "\n" System.out.print(sb) System.out.print System.out System System.out sb String[] args args public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] A = new int[n];
        int[] N = new int[200001];
        int m1 = 0, m2 = 0;
        for(int i = 0; i < n; i++) {
            A[i] = Integer.parseInt(sc.next());
            if(A[i] > m1) m1 = A[i];
            else if(A[i] > m2) m2 = A[i];
            N[A[i]]++;
        }
        for(int i = 0; i < n; i++) {
            if(A[i] == m1 && N[m1] == 1) sb.append(m2 + "\n");
            else sb.append(m1 + "\n");
        }
        System.out.print(sb);
    }
} public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] A = new int[n];
        int[] N = new int[200001];
        int m1 = 0, m2 = 0;
        for(int i = 0; i < n; i++) {
            A[i] = Integer.parseInt(sc.next());
            if(A[i] > m1) m1 = A[i];
            else if(A[i] > m2) m2 = A[i];
            N[A[i]]++;
        }
        for(int i = 0; i < n; i++) {
            if(A[i] == m1 && N[m1] == 1) sb.append(m2 + "\n");
            else sb.append(m1 + "\n");
        }
        System.out.print(sb);
    }
} Main
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] A = new int[n];
        int[] N = new int[200001];
        int m1 = 0, m2 = 0;
        for(int i = 0; i < n; i++) {
            A[i] = Integer.parseInt(sc.next());
            if(A[i] > m1) m1 = A[i];
            else if(A[i] > m2) m2 = A[i];
            N[A[i]]++;
        }
        for(int i = 0; i < n; i++) {
            if(A[i] == m1 && N[m1] == 1) sb.append(m2 + "\n");
            else sb.append(m1 + "\n");
        }
        System.out.print(sb);
    }
}
