n = int(input())
alst = list(map(int, input().split()))
f = [1, 2 ** 2, 3 ** 6]
ans = 1
if 0 in alst:
    print(-1)
    exit()
for a in alst:
    if a >= 4:
        print(10 ** 9 + 7)
        break
    ans *= f[a - 1]
    if ans > 10 ** 9 + 7:
        print(10 ** 9 + 7)
        break
else:
    print((10 ** 9 + 7) % ans)