N=input() A=list(map(int,input().split())) d=[1,1,2,6] if max(A)>3: print(10**9+7) elif min(A)==0: print(-1) else: ans=1 for i in A: ans*=pow(i,d[i]) if ans>1000000007: print(10**9+7) break else: print((10**9+7)%ans) #そういうことか take3