# 列挙した約数の累計(各valueはそのkeyを約数に持つ整数の数)、
# valueがN - 1個ならばその約数を持ってない整数に約数の積をとると全ての整数がkeyを約数に持つ。予めkeyの降順にソートすることで最大値が取得可能

@pre = Hash.new(0)
def getdiv(n)
  res = []
  i = 1
  if n > 0
    while i * i <= n
      if n % i == 0
        res << i << n / i
        @pre[i] += 1
        @pre[n / i] += 1
      end
      i += 1
    end
  end
end

N = gets.to_i
gets.chomp.split.map do |x|
  t = x.to_i
  # p prm_fct(t)
  getdiv(t)
end
@pre.sort_by{|k, v|-k}.each do |k, v|
  if v >= N - 1
    puts k
    exit
  end
end