import java.util.Scanner;
import java.util.ArrayList;
class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
     ArrayList <Integer> li = new ArrayList <Integer>();
    for(int i=0; i<n; i++){
      int a = sc.nextInt();
      li.add(a);
    }
    int bigger = li.get(0);
    for(int i=1;i<n;i++){
      int a = Math.max(bigger,li.get(i));
      bigger = a;
    }
    int maxNumber=0;
    int m=0;
    for(int i=0;i<n;i++){
      if(li.get(i)==bigger){
        maxNumber++;
        m = i;
      }
    }
    if(maxNumber>1){
      for(int i=0;i<n;i++){
        System.out.println(bigger);
      }
    }else if(m==0&&n==2){
          System.out.println(li.get(1));
          System.out.println(bigger);
    }else if(m==0){
          int semiMax = li.get(1);
          for(int i=2;i<n;i++){
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        System.out.println(semiMax);
        for(int i=1;i<n;i++){
          System.out.println(bigger);
        }     
    }else{
        int semiMax = li.get(0); 
        for(int i=1;i<n;i++){
          if(i==m){
            continue;
          }else{
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        }
        for(int i=0;i<n;i++){
          if(i==m){
            System.out.println(semiMax);
          }else{
            System.out.println(bigger);
          }
        }
    }
  }
} import java.util.Scanner; Scanner java.util import java.util.ArrayList; ArrayList java.util class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
     ArrayList <Integer> li = new ArrayList <Integer>();
    for(int i=0; i<n; i++){
      int a = sc.nextInt();
      li.add(a);
    }
    int bigger = li.get(0);
    for(int i=1;i<n;i++){
      int a = Math.max(bigger,li.get(i));
      bigger = a;
    }
    int maxNumber=0;
    int m=0;
    for(int i=0;i<n;i++){
      if(li.get(i)==bigger){
        maxNumber++;
        m = i;
      }
    }
    if(maxNumber>1){
      for(int i=0;i<n;i++){
        System.out.println(bigger);
      }
    }else if(m==0&&n==2){
          System.out.println(li.get(1));
          System.out.println(bigger);
    }else if(m==0){
          int semiMax = li.get(1);
          for(int i=2;i<n;i++){
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        System.out.println(semiMax);
        for(int i=1;i<n;i++){
          System.out.println(bigger);
        }     
    }else{
        int semiMax = li.get(0); 
        for(int i=1;i<n;i++){
          if(i==m){
            continue;
          }else{
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        }
        for(int i=0;i<n;i++){
          if(i==m){
            System.out.println(semiMax);
          }else{
            System.out.println(bigger);
          }
        }
    }
  }
} Main public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
     ArrayList <Integer> li = new ArrayList <Integer>();
    for(int i=0; i<n; i++){
      int a = sc.nextInt();
      li.add(a);
    }
    int bigger = li.get(0);
    for(int i=1;i<n;i++){
      int a = Math.max(bigger,li.get(i));
      bigger = a;
    }
    int maxNumber=0;
    int m=0;
    for(int i=0;i<n;i++){
      if(li.get(i)==bigger){
        maxNumber++;
        m = i;
      }
    }
    if(maxNumber>1){
      for(int i=0;i<n;i++){
        System.out.println(bigger);
      }
    }else if(m==0&&n==2){
          System.out.println(li.get(1));
          System.out.println(bigger);
    }else if(m==0){
          int semiMax = li.get(1);
          for(int i=2;i<n;i++){
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        System.out.println(semiMax);
        for(int i=1;i<n;i++){
          System.out.println(bigger);
        }     
    }else{
        int semiMax = li.get(0); 
        for(int i=1;i<n;i++){
          if(i==m){
            continue;
          }else{
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        }
        for(int i=0;i<n;i++){
          if(i==m){
            System.out.println(semiMax);
          }else{
            System.out.println(bigger);
          }
        }
    }
  } main {
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
     ArrayList <Integer> li = new ArrayList <Integer>();
    for(int i=0; i<n; i++){
      int a = sc.nextInt();
      li.add(a);
    }
    int bigger = li.get(0);
    for(int i=1;i<n;i++){
      int a = Math.max(bigger,li.get(i));
      bigger = a;
    }
    int maxNumber=0;
    int m=0;
    for(int i=0;i<n;i++){
      if(li.get(i)==bigger){
        maxNumber++;
        m = i;
      }
    }
    if(maxNumber>1){
      for(int i=0;i<n;i++){
        System.out.println(bigger);
      }
    }else if(m==0&&n==2){
          System.out.println(li.get(1));
          System.out.println(bigger);
    }else if(m==0){
          int semiMax = li.get(1);
          for(int i=2;i<n;i++){
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        System.out.println(semiMax);
        for(int i=1;i<n;i++){
          System.out.println(bigger);
        }     
    }else{
        int semiMax = li.get(0); 
        for(int i=1;i<n;i++){
          if(i==m){
            continue;
          }else{
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        }
        for(int i=0;i<n;i++){
          if(i==m){
            System.out.println(semiMax);
          }else{
            System.out.println(bigger);
          }
        }
    }
  } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc ArrayList <Integer> li = new ArrayList <Integer>(); li new ArrayList <Integer>() for(int i=0; i<n; i++){
      int a = sc.nextInt();
      li.add(a);
    } int i=0; int i=0; i 0 i<n i n i++ i++ i {
      int a = sc.nextInt();
      li.add(a);
    } {
      int a = sc.nextInt();
      li.add(a);
    } int a = sc.nextInt(); a sc.nextInt() sc.nextInt sc li.add(a) li.add li a int bigger = li.get(0); bigger li.get(0) li.get li 0 for(int i=1;i<n;i++){
      int a = Math.max(bigger,li.get(i));
      bigger = a;
    } int i=1; int i=1; i 1 i<n i n i++ i++ i {
      int a = Math.max(bigger,li.get(i));
      bigger = a;
    } {
      int a = Math.max(bigger,li.get(i));
      bigger = a;
    } int a = Math.max(bigger,li.get(i)); a Math.max(bigger,li.get(i)) Math.max Math bigger li.get(i) li.get li i bigger = a bigger a int maxNumber=0; maxNumber 0 int m=0; m 0 for(int i=0;i<n;i++){
      if(li.get(i)==bigger){
        maxNumber++;
        m = i;
      }
    } int i=0; int i=0; i 0 i<n i n i++ i++ i {
      if(li.get(i)==bigger){
        maxNumber++;
        m = i;
      }
    } {
      if(li.get(i)==bigger){
        maxNumber++;
        m = i;
      }
    } if(li.get(i)==bigger){
        maxNumber++;
        m = i;
      } li.get(i)==bigger li.get(i) li.get li i bigger {
        maxNumber++;
        m = i;
      } maxNumber++ maxNumber m = i m i if(maxNumber>1){
      for(int i=0;i<n;i++){
        System.out.println(bigger);
      }
    }else if(m==0&&n==2){
          System.out.println(li.get(1));
          System.out.println(bigger);
    }else if(m==0){
          int semiMax = li.get(1);
          for(int i=2;i<n;i++){
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        System.out.println(semiMax);
        for(int i=1;i<n;i++){
          System.out.println(bigger);
        }     
    }else{
        int semiMax = li.get(0); 
        for(int i=1;i<n;i++){
          if(i==m){
            continue;
          }else{
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        }
        for(int i=0;i<n;i++){
          if(i==m){
            System.out.println(semiMax);
          }else{
            System.out.println(bigger);
          }
        }
    } maxNumber>1 maxNumber 1 {
      for(int i=0;i<n;i++){
        System.out.println(bigger);
      }
    } for(int i=0;i<n;i++){
        System.out.println(bigger);
      } int i=0; int i=0; i 0 i<n i n i++ i++ i {
        System.out.println(bigger);
      } {
        System.out.println(bigger);
      } System.out.println(bigger) System.out.println System.out System System.out bigger if(m==0&&n==2){
          System.out.println(li.get(1));
          System.out.println(bigger);
    }else if(m==0){
          int semiMax = li.get(1);
          for(int i=2;i<n;i++){
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        System.out.println(semiMax);
        for(int i=1;i<n;i++){
          System.out.println(bigger);
        }     
    }else{
        int semiMax = li.get(0); 
        for(int i=1;i<n;i++){
          if(i==m){
            continue;
          }else{
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        }
        for(int i=0;i<n;i++){
          if(i==m){
            System.out.println(semiMax);
          }else{
            System.out.println(bigger);
          }
        }
    } m==0&&n==2 m==0 m 0 n==2 n 2 {
          System.out.println(li.get(1));
          System.out.println(bigger);
    } System.out.println(li.get(1)) System.out.println System.out System System.out li.get(1) li.get li 1 System.out.println(bigger) System.out.println System.out System System.out bigger if(m==0){
          int semiMax = li.get(1);
          for(int i=2;i<n;i++){
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        System.out.println(semiMax);
        for(int i=1;i<n;i++){
          System.out.println(bigger);
        }     
    }else{
        int semiMax = li.get(0); 
        for(int i=1;i<n;i++){
          if(i==m){
            continue;
          }else{
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        }
        for(int i=0;i<n;i++){
          if(i==m){
            System.out.println(semiMax);
          }else{
            System.out.println(bigger);
          }
        }
    } m==0 m 0 {
          int semiMax = li.get(1);
          for(int i=2;i<n;i++){
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        System.out.println(semiMax);
        for(int i=1;i<n;i++){
          System.out.println(bigger);
        }     
    } int semiMax = li.get(1); semiMax li.get(1) li.get li 1 for(int i=2;i<n;i++){
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          } int i=2; int i=2; i 2 i<n i n i++ i++ i {
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          } {
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          } int a = Math.max(semiMax,li.get(i)); a Math.max(semiMax,li.get(i)) Math.max Math semiMax li.get(i) li.get li i semiMax = a semiMax a System.out.println(semiMax) System.out.println System.out System System.out semiMax for(int i=1;i<n;i++){
          System.out.println(bigger);
        } int i=1; int i=1; i 1 i<n i n i++ i++ i {
          System.out.println(bigger);
        } {
          System.out.println(bigger);
        } System.out.println(bigger) System.out.println System.out System System.out bigger {
        int semiMax = li.get(0); 
        for(int i=1;i<n;i++){
          if(i==m){
            continue;
          }else{
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        }
        for(int i=0;i<n;i++){
          if(i==m){
            System.out.println(semiMax);
          }else{
            System.out.println(bigger);
          }
        }
    } int semiMax = li.get(0); semiMax li.get(0) li.get li 0 for(int i=1;i<n;i++){
          if(i==m){
            continue;
          }else{
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        } int i=1; int i=1; i 1 i<n i n i++ i++ i {
          if(i==m){
            continue;
          }else{
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        } {
          if(i==m){
            continue;
          }else{
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        } if(i==m){
            continue;
          }else{
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          } i==m i m {
            continue;
          } continue; {
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          } int a = Math.max(semiMax,li.get(i)); a Math.max(semiMax,li.get(i)) Math.max Math semiMax li.get(i) li.get li i semiMax = a semiMax a for(int i=0;i<n;i++){
          if(i==m){
            System.out.println(semiMax);
          }else{
            System.out.println(bigger);
          }
        } int i=0; int i=0; i 0 i<n i n i++ i++ i {
          if(i==m){
            System.out.println(semiMax);
          }else{
            System.out.println(bigger);
          }
        } {
          if(i==m){
            System.out.println(semiMax);
          }else{
            System.out.println(bigger);
          }
        } if(i==m){
            System.out.println(semiMax);
          }else{
            System.out.println(bigger);
          } i==m i m {
            System.out.println(semiMax);
          } System.out.println(semiMax) System.out.println System.out System System.out semiMax {
            System.out.println(bigger);
          } System.out.println(bigger) System.out.println System.out System System.out bigger String[] args args
import java.util.Scanner;
import java.util.ArrayList;
class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
     ArrayList <Integer> li = new ArrayList <Integer>();
    for(int i=0; i<n; i++){
      int a = sc.nextInt();
      li.add(a);
    }
    int bigger = li.get(0);
    for(int i=1;i<n;i++){
      int a = Math.max(bigger,li.get(i));
      bigger = a;
    }
    int maxNumber=0;
    int m=0;
    for(int i=0;i<n;i++){
      if(li.get(i)==bigger){
        maxNumber++;
        m = i;
      }
    }
    if(maxNumber>1){
      for(int i=0;i<n;i++){
        System.out.println(bigger);
      }
    }else if(m==0&&n==2){
          System.out.println(li.get(1));
          System.out.println(bigger);
    }else if(m==0){
          int semiMax = li.get(1);
          for(int i=2;i<n;i++){
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        System.out.println(semiMax);
        for(int i=1;i<n;i++){
          System.out.println(bigger);
        }     
    }else{
        int semiMax = li.get(0); 
        for(int i=1;i<n;i++){
          if(i==m){
            continue;
          }else{
            int a = Math.max(semiMax,li.get(i));
            semiMax = a;
          }
        }
        for(int i=0;i<n;i++){
          if(i==m){
            System.out.println(semiMax);
          }else{
            System.out.println(bigger);
          }
        }
    }
  }
}
