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