fact = [1] for i in range(1, 5): fact.append(fact[-1] * i) n = int(input()) a = list(map(int, input().split())) MOD = 10 ** 9 + 7 if 0 in a: print(-1) exit() flag = False ans = 1 for val in a: if val > 4: flag = True break ans *= val ** fact[val] if ans > MOD: flag = True break if flag: print(MOD) else: print(MOD % ans)