# diffを出す
  # diffが全員同じならansはdiffの値
  # diffが全て0ならばansはaの値(全部値同じ)
  # 
# aの数に着目
  #2個だったら大きいほうがans
  #3個だったら

# 一個ずつ削ってlcmを出す？


class Array
  def gcd
    self.inject do |a,b|
      ans = a.gcd(b)
      if ans == 1
        return 1
      else
        ans
      end
    end
  end
end

n = gets.to_i
a = gets.split.map(&:to_i)
max = 0
a.length.times do |i|
  tmp = a.pop
  val = a.gcd
  max = val if val > max
  a.unshift(tmp)
end

puts max