import java.util.*;

public class Main {
    public static void main(String[] args) {
        //コード
        Scanner scanner = new Scanner(System.in);
        Integer n = Integer.parseInt(scanner.next());

        List<Integer> listA = new ArrayList<>();
        for(int i = 0; i < n; i++) {
            listA.add(Integer.parseInt(scanner.next()));
        }
        ArrayList<Integer> listB = new ArrayList<>(listA);
        Collections.sort(listB);

        int max = listB.get(listB.size()-1);
        int max2 = listB.get(listB.size()-2);

        for(int i = 0; i< listA.size(); i++) {
            if(max != listA.get(i)) {
                System.out.println(max);
            } else {
                System.out.println(max2);
            }
        }

    }
} import java.util.*; util.* java public class Main {
    public static void main(String[] args) {
        //コード
        Scanner scanner = new Scanner(System.in);
        Integer n = Integer.parseInt(scanner.next());

        List<Integer> listA = new ArrayList<>();
        for(int i = 0; i < n; i++) {
            listA.add(Integer.parseInt(scanner.next()));
        }
        ArrayList<Integer> listB = new ArrayList<>(listA);
        Collections.sort(listB);

        int max = listB.get(listB.size()-1);
        int max2 = listB.get(listB.size()-2);

        for(int i = 0; i< listA.size(); i++) {
            if(max != listA.get(i)) {
                System.out.println(max);
            } else {
                System.out.println(max2);
            }
        }

    }
} Main public static void main(String[] args) {
        //コード
        Scanner scanner = new Scanner(System.in);
        Integer n = Integer.parseInt(scanner.next());

        List<Integer> listA = new ArrayList<>();
        for(int i = 0; i < n; i++) {
            listA.add(Integer.parseInt(scanner.next()));
        }
        ArrayList<Integer> listB = new ArrayList<>(listA);
        Collections.sort(listB);

        int max = listB.get(listB.size()-1);
        int max2 = listB.get(listB.size()-2);

        for(int i = 0; i< listA.size(); i++) {
            if(max != listA.get(i)) {
                System.out.println(max);
            } else {
                System.out.println(max2);
            }
        }

    } main {
        //コード
        Scanner scanner = new Scanner(System.in);
        Integer n = Integer.parseInt(scanner.next());

        List<Integer> listA = new ArrayList<>();
        for(int i = 0; i < n; i++) {
            listA.add(Integer.parseInt(scanner.next()));
        }
        ArrayList<Integer> listB = new ArrayList<>(listA);
        Collections.sort(listB);

        int max = listB.get(listB.size()-1);
        int max2 = listB.get(listB.size()-2);

        for(int i = 0; i< listA.size(); i++) {
            if(max != listA.get(i)) {
                System.out.println(max);
            } else {
                System.out.println(max2);
            }
        }

    } Scanner scanner = new Scanner(System.in); scanner new Scanner(System.in) Integer n = Integer.parseInt(scanner.next()); n Integer.parseInt(scanner.next()) Integer.parseInt Integer scanner.next() scanner.next scanner List<Integer> listA = new ArrayList<>(); listA new ArrayList<>() for(int i = 0; i < n; i++) {
            listA.add(Integer.parseInt(scanner.next()));
        } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
            listA.add(Integer.parseInt(scanner.next()));
        } {
            listA.add(Integer.parseInt(scanner.next()));
        } listA.add(Integer.parseInt(scanner.next())) listA.add listA Integer.parseInt(scanner.next()) Integer.parseInt Integer scanner.next() scanner.next scanner ArrayList<Integer> listB = new ArrayList<>(listA); listB new ArrayList<>(listA) Collections.sort(listB) Collections.sort Collections listB int max = listB.get(listB.size()-1); max listB.get(listB.size()-1) listB.get listB listB.size()-1 listB.size() listB.size listB 1 int max2 = listB.get(listB.size()-2); max2 listB.get(listB.size()-2) listB.get listB listB.size()-2 listB.size() listB.size listB 2 for(int i = 0; i< listA.size(); i++) {
            if(max != listA.get(i)) {
                System.out.println(max);
            } else {
                System.out.println(max2);
            }
        } int i = 0; int i = 0; i 0 i< listA.size() i listA.size() listA.size listA i++ i++ i {
            if(max != listA.get(i)) {
                System.out.println(max);
            } else {
                System.out.println(max2);
            }
        } {
            if(max != listA.get(i)) {
                System.out.println(max);
            } else {
                System.out.println(max2);
            }
        } if(max != listA.get(i)) {
                System.out.println(max);
            } else {
                System.out.println(max2);
            } max != listA.get(i) max listA.get(i) listA.get listA i {
                System.out.println(max);
            } System.out.println(max) System.out.println System.out System System.out max {
                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 scanner = new Scanner(System.in);
        Integer n = Integer.parseInt(scanner.next());

        List<Integer> listA = new ArrayList<>();
        for(int i = 0; i < n; i++) {
            listA.add(Integer.parseInt(scanner.next()));
        }
        ArrayList<Integer> listB = new ArrayList<>(listA);
        Collections.sort(listB);

        int max = listB.get(listB.size()-1);
        int max2 = listB.get(listB.size()-2);

        for(int i = 0; i< listA.size(); i++) {
            if(max != listA.get(i)) {
                System.out.println(max);
            } else {
                System.out.println(max2);
            }
        }

    }
} public class Main {
    public static void main(String[] args) {
        //コード
        Scanner scanner = new Scanner(System.in);
        Integer n = Integer.parseInt(scanner.next());

        List<Integer> listA = new ArrayList<>();
        for(int i = 0; i < n; i++) {
            listA.add(Integer.parseInt(scanner.next()));
        }
        ArrayList<Integer> listB = new ArrayList<>(listA);
        Collections.sort(listB);

        int max = listB.get(listB.size()-1);
        int max2 = listB.get(listB.size()-2);

        for(int i = 0; i< listA.size(); i++) {
            if(max != listA.get(i)) {
                System.out.println(max);
            } else {
                System.out.println(max2);
            }
        }

    }
} Main
import java.util.*;

public class Main {
    public static void main(String[] args) {
        //コード
        Scanner scanner = new Scanner(System.in);
        Integer n = Integer.parseInt(scanner.next());

        List<Integer> listA = new ArrayList<>();
        for(int i = 0; i < n; i++) {
            listA.add(Integer.parseInt(scanner.next()));
        }
        ArrayList<Integer> listB = new ArrayList<>(listA);
        Collections.sort(listB);

        int max = listB.get(listB.size()-1);
        int max2 = listB.get(listB.size()-2);

        for(int i = 0; i< listA.size(); i++) {
            if(max != listA.get(i)) {
                System.out.println(max);
            } else {
                System.out.println(max2);
            }
        }

    }
}
