// inputに入力データ全体が入る
function Main(input) {
	// 1行目がinput[0], 2行目がinput[1], …に入る
  input = input.split("\n");
  var N = Number(input[0]);
  input.shift();
  var MaxNum = Math.max.apply(null, input);
  var hasMaxNum = 0;
  var subMaxNum = 0;
  
  for(var j = 0; j < N; j++){
    if(subMaxNum < Number(input[j]) && Number(input[j]) != MaxNum){
      subMaxNum = Number(input[j]);
    }
    if(Number(input[j]) == MaxNum && hasMaxNum < 2){
      hasMaxNum = hasMaxNum + 1;
    }
  }

  for(var i = 0; i < N; i++){
    if(Number(input[i]) != MaxNum){
      console.log(MaxNum);
    }
    else{
      if(hasMaxNum == 2){
        console.log(MaxNum);
      }
      else{
        console.log(subMaxNum);
      }
    }
  }
  
 }
 //*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
 Main(require("fs").readFileSync("/dev/stdin", "utf8"));