n=int(input()) a=sorted(list(map(int,input().split())),reverse=True) #ギャグ mod=10**9+7 if max(a)>3: print(mod) exit() ans=1 for i in a: for j in range(i): ans*=(i**(j+1)) print(mod%ans)