#include <bits/stdc++.h>
int max(int* A, int B, int N) {
  int m = 0;
  int i;
  for (i = 0; i < N; i++) {
    if (m < A[i] && B != i) {
      m = A[i];
    }
  }
  return m;
}
int main() {
  int N;
  int* A;
  int i;
  scanf("%d", &N);
  A = (int*)malloc(N * sizeof(int));
  for (i = 0; i < N; i++) {
    scanf("%d", &A[i]);
  }
  for (i = 0; i < N; i++) {
    printf("%d\n", max(A, i, N));
  }
  free(A);
  return 0;
}
