MOD = 10**9 + 7 N = int(input()) A = list(map(int,input().split())) if 0 in A: print(-1) exit(0) fac = [1 for k in range(200010)] for k in range(2,200010): fac[k] = (fac[k-1]*k)%MOD ans = 1 for e in A: if e > 10: print(MOD) exit(0) ans *= pow(e,fac[e],MOD) if ans > MOD: print(MOD) exit(0) if ans == 1: print(-1) else: print(MOD%ans)