mod = 10**9+7 n = int(input()) A = list(map(int,input().split())) def kaijo(n): ret = 1 for i in range(1,n+1): ret *= i return ret #print(A) ans = 1 for a in A: if a == 0: print(-1) exit() if a >= 4: print(mod) exit() ans *= pow(a,kaijo(a)) print(mod%ans)