D = (10**9) + 7
gets # discard N
a = gets.split.map(&:to_i)
if a.min <= 0
 puts '-1'
 return
end
if 4 <= a.max
  puts D
  return
end

m = 1
a.each do |ai|
  factor = (1..ai).inject(:*)
  m *= ai**factor
  if D <= m
    puts D
    return
  end
end
puts D % m