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)