n = gets.to_i
a = []
a_temp = []
n.times { a << gets.to_i }
n.times {|i| a_temp << a[i]}
max = a.max
num = a.count(max)
if a.uniq.count != 1
  a_temp.delete(max)
  max2 = a_temp.max
end
n.times do |i|
  puts (a[i]!=max||num>1) ? max : max2
end
