#include <bits/stdc++.h>
int main() {
  int N, A[200000];
  int max = 0;
  int max2 = 0;
  int flag = 0;
  scanf("%d", &N);
  for (int i = 0; i <= N - 1; i++) {
    scanf("%d", &A[i]);
    if (A[i] > max) {
      max = A[i];
    }
    if (A[i] > max2) {
      if (A[i] != max) {
        max2 = A[i];
      }
    }
  }
  for (int k = 0; k <= N - 1; k++) {
    if (A[k] == max) {
      flag++;
    }
  }
  for (int j = 0; j <= N - 1; j++) {
    if (A[j] != max) {
      printf("%d\n", max);
    } else {
      if (flag > 1) {
        printf("%d\n", max);
      } else {
        printf("%d\n", max2);
      }
    }
  }
}
