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