import java.util.*;
public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt(); 
    int[] h = new int[N];  
    int max = 0; 
    int idx = 0; 
    for (int i=0; i < N ;i++) {
      h[i] =  sc.nextInt();
      if(h[i]>max){
        max = h[i];
        idx = i;
      }
    }
    int max2 = 0; 
    // int idx2 = 0; 
    for (int i=0; i < N ;i++) {
      if(i !=idx){
      if(h[i]>max2){
        max2 = h[i];
      }
    }
    }
    for (int i=0; i < N ;i++) {
      if(i !=idx){
        System.out.println(max);
       }else{
      System.out.println(max2);
    }
  }
}
}
 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[] h = new int[N];  
    int max = 0; 
    int idx = 0; 
    for (int i=0; i < N ;i++) {
      h[i] =  sc.nextInt();
      if(h[i]>max){
        max = h[i];
        idx = i;
      }
    }
    int max2 = 0; 
    // int idx2 = 0; 
    for (int i=0; i < N ;i++) {
      if(i !=idx){
      if(h[i]>max2){
        max2 = h[i];
      }
    }
    }
    for (int i=0; i < N ;i++) {
      if(i !=idx){
        System.out.println(max);
       }else{
      System.out.println(max2);
    }
  }
}
} Main public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt(); 
    int[] h = new int[N];  
    int max = 0; 
    int idx = 0; 
    for (int i=0; i < N ;i++) {
      h[i] =  sc.nextInt();
      if(h[i]>max){
        max = h[i];
        idx = i;
      }
    }
    int max2 = 0; 
    // int idx2 = 0; 
    for (int i=0; i < N ;i++) {
      if(i !=idx){
      if(h[i]>max2){
        max2 = h[i];
      }
    }
    }
    for (int i=0; i < N ;i++) {
      if(i !=idx){
        System.out.println(max);
       }else{
      System.out.println(max2);
    }
  }
} main {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt(); 
    int[] h = new int[N];  
    int max = 0; 
    int idx = 0; 
    for (int i=0; i < N ;i++) {
      h[i] =  sc.nextInt();
      if(h[i]>max){
        max = h[i];
        idx = i;
      }
    }
    int max2 = 0; 
    // int idx2 = 0; 
    for (int i=0; i < N ;i++) {
      if(i !=idx){
      if(h[i]>max2){
        max2 = h[i];
      }
    }
    }
    for (int i=0; i < N ;i++) {
      if(i !=idx){
        System.out.println(max);
       }else{
      System.out.println(max2);
    }
  }
} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int[] h = new int[N]; h new int[N] N int max = 0; max 0 int idx = 0; idx 0 for (int i=0; i < N ;i++) {
      h[i] =  sc.nextInt();
      if(h[i]>max){
        max = h[i];
        idx = i;
      }
    } int i=0; int i=0; i 0 i < N i N i++ i++ i {
      h[i] =  sc.nextInt();
      if(h[i]>max){
        max = h[i];
        idx = i;
      }
    } {
      h[i] =  sc.nextInt();
      if(h[i]>max){
        max = h[i];
        idx = i;
      }
    } h[i] =  sc.nextInt() h[i] h i sc.nextInt() sc.nextInt sc if(h[i]>max){
        max = h[i];
        idx = i;
      } h[i]>max h[i] h i max {
        max = h[i];
        idx = i;
      } max = h[i] max h[i] h i idx = i idx i int max2 = 0; max2 0 for (int i=0; i < N ;i++) {
      if(i !=idx){
      if(h[i]>max2){
        max2 = h[i];
      }
    }
    } int i=0; int i=0; i 0 i < N i N i++ i++ i {
      if(i !=idx){
      if(h[i]>max2){
        max2 = h[i];
      }
    }
    } {
      if(i !=idx){
      if(h[i]>max2){
        max2 = h[i];
      }
    }
    } if(i !=idx){
      if(h[i]>max2){
        max2 = h[i];
      }
    } i !=idx i idx {
      if(h[i]>max2){
        max2 = h[i];
      }
    } if(h[i]>max2){
        max2 = h[i];
      } h[i]>max2 h[i] h i max2 {
        max2 = h[i];
      } max2 = h[i] max2 h[i] h i for (int i=0; i < N ;i++) {
      if(i !=idx){
        System.out.println(max);
       }else{
      System.out.println(max2);
    }
  } int i=0; int i=0; i 0 i < N i N i++ i++ i {
      if(i !=idx){
        System.out.println(max);
       }else{
      System.out.println(max2);
    }
  } {
      if(i !=idx){
        System.out.println(max);
       }else{
      System.out.println(max2);
    }
  } if(i !=idx){
        System.out.println(max);
       }else{
      System.out.println(max2);
    } i !=idx i idx {
        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 sc = new Scanner(System.in);
    int N = sc.nextInt(); 
    int[] h = new int[N];  
    int max = 0; 
    int idx = 0; 
    for (int i=0; i < N ;i++) {
      h[i] =  sc.nextInt();
      if(h[i]>max){
        max = h[i];
        idx = i;
      }
    }
    int max2 = 0; 
    // int idx2 = 0; 
    for (int i=0; i < N ;i++) {
      if(i !=idx){
      if(h[i]>max2){
        max2 = h[i];
      }
    }
    }
    for (int i=0; i < N ;i++) {
      if(i !=idx){
        System.out.println(max);
       }else{
      System.out.println(max2);
    }
  }
}
} public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt(); 
    int[] h = new int[N];  
    int max = 0; 
    int idx = 0; 
    for (int i=0; i < N ;i++) {
      h[i] =  sc.nextInt();
      if(h[i]>max){
        max = h[i];
        idx = i;
      }
    }
    int max2 = 0; 
    // int idx2 = 0; 
    for (int i=0; i < N ;i++) {
      if(i !=idx){
      if(h[i]>max2){
        max2 = h[i];
      }
    }
    }
    for (int i=0; i < N ;i++) {
      if(i !=idx){
        System.out.println(max);
       }else{
      System.out.println(max2);
    }
  }
}
} Main
import java.util.*;
public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt(); 
    int[] h = new int[N];  
    int max = 0; 
    int idx = 0; 
    for (int i=0; i < N ;i++) {
      h[i] =  sc.nextInt();
      if(h[i]>max){
        max = h[i];
        idx = i;
      }
    }
    int max2 = 0; 
    // int idx2 = 0; 
    for (int i=0; i < N ;i++) {
      if(i !=idx){
      if(h[i]>max2){
        max2 = h[i];
      }
    }
    }
    for (int i=0; i < N ;i++) {
      if(i !=idx){
        System.out.println(max);
       }else{
      System.out.println(max2);
    }
  }
}
}

