P = 10**9+7 cnt = 1 for k in range(2,30): cnt = cnt*k if pow(k,cnt)>P: K = k break N = int(input()) A = list(map(int, input().split())) if min(A)==0: print(-1) else: if max(A)>=K: print(P) else: flag = 0 prod = 1 for a in A: cnt = 1 for k in range(2,a+1): cnt = cnt*k prod = prod*pow(a,cnt) if prod>P: flag = 1 break if flag: print(P) else: print(P%prod)