n = int(input()) a = list(map(int, input().split())) moddehanai = 10**9 + 7 a.sort(reverse=True) if a[0] >= 4: print(moddehanai) elif a[-1] == 0: print(0) else: s = 1 end = False for i in range(n): if a[i] == 3: s *= 3**6 elif a[i] == 2: a *= 2**2 if s > moddehanai: end = True print(moddehanai) break if not end: print(moddehanai % s)