#include <bits/stdc++.h>
int cul(int *);
int N, MAX[2] = {};
int main(void) {
  int i;
  scanf("%d", &N);
  int A[N];
  for (i = 0; i < N; i++) {
    scanf("%d", &A[i]);
  }
  cul(A);
  for (i = 0; i < N; i++) {
    if (A[i] != MAX[0]) {
      printf("%d\n", MAX[0]);
    } else {
      printf("%d\n", MAX[1]);
    }
  }
  return 0;
}
int cul(int *A) {
  int i;
  for (i = 0; i < N; i++) {
    if (A[i] >= MAX[0]) {
      MAX[1] = MAX[0];
      MAX[0] = A[i];
    }
  }
  return *MAX;
}
