#include <bits/stdc++.h>
using namespace std;
int main() {
  int N;
  cin >> N;
  vector<int> vec(N);
  vector<int> ans(N);
  for (int i = 0; i < N; i++) {
    cin >> vec.at(i);
  }
  int max1 = 0;
  int max2 = 0;
  for (int i = 0; i < N; i++) {
    if (vec.at(i) > max1) {
      max1 = vec.at(i);
    }
  }
  for (int i = 0; i < N; i++) {
    if (vec.at(i) > max2 && vec.at(i) != max1) {
      max2 = vec.at(i);
    }
  }
  for (int i = 0; i < N; i++) {
    if (max2 == 0) {
      cout << max1 << endl;
    } else if (vec.at(i) != max1) {
      cout << max1 << endl;
    } else {
      cout << max2 << endl;
    }
  }
}
