// inputに入力データ全体が入る
function Main(input) {
	// 1行目がinput[0], 2行目がinput[1], …に入る
	inputs = input.split("\n");

	var N = parseInt( inputs[0], 10 );
	var max2 = [ 0, 0 ];
	for ( var i = 1; i <= N; i++ ){
		var tmp = parseInt( inputs[i], 10 );
		if ( i == 1 ) {
			max2[0] = tmp;
		} else if ( i == 2 ) {
			if ( tmp >= max2[0] ){
				max2[1] = max2[0];
				max2[0] = tmp;
			} else {
				max2[1] = tmp;
			}
		} else {
			if ( tmp >= max2[0] ) {
				max2[1] = max2[0];
				max2[0] = tmp;
			} else if ( tmp >= max2[1] ) {
				max2[1] = tmp;
			}
		}
	}

	for ( var i = 1; i <= N; i++ ){
		var tmp = parseInt( inputs[i], 10 );
		console.log('%d', tmp == max2[0] ? max2[1] : max2[0]);
	}

}
//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));