N = int(input())
A = list(map(int,input().split()))
MOD = 10**9+7
ans = 1
if min(A) < 0:
  print(-1)
  exit()
elif max(A) > 3:
  print(MOD)
  exit()
for i in range(N):
  ak = 1
  for j in range(1,A[i]+1):
    ak *= j
  ans *= (A[i]**ak)

print(MOD%ans)