import sys input=sys.stdin.readline def I(): return int(input()) def MI(): return map(int, input().split()) def LI(): return list(map(int, input().split())) def main(): mod=10**9+7 N=I() A=LI() if min(A)==0: print(-1) exit() inf=10**10 res=1 for i in range(N): a=A[i] if a>=4: res=inf break else: temp=1 for j in range(1,a+1): temp*=j res*=pow(a,temp) if res>=mod: break print(mod%res) main()