import sys import math def readints(): return list(map(int, sys.stdin.readline().split())) def factorize(n): factors = {} while n % 2 == 0: factors[2] = factors.get(2, 0) + 1 n = n // 2 i = 3 max_factor = math.isqrt(n) + 1 while i <= max_factor and n > 1: while n % i == 0: factors[i] = factors.get(i, 0) + 1 n = n // i max_factor = math.isqrt(n) + 1 i += 2 if n > 1: factors[n] = 1 return factors def main(): MOD = 10**9 + 7 N = int(sys.stdin.readline()) c = list(map(int, sys.stdin.readline().split())) S = 0 for i in range(9): S += (i+1) * c[i] if S == 0: print(0) return factors = factorize(S) d = 1 # Check for 2 all_even = True for i in range(9): digit = i + 1 if digit % 2 != 0 and c[i] > 0: all_even = False break if 2 in factors and all_even: d = (d * pow(2, factors[2], MOD)) % MOD # Check for 5 all_five = True for i in range(9): digit = i + 1 if digit != 5 and c[i] > 0: all_five = False break if 5 in factors and all_five: d = (d * pow(5, factors[5], MOD)) % MOD # Check for other primes for p in factors: if p == 2 or p == 5: continue d = (d * pow(p, factors[p], MOD)) % MOD print(d % MOD) if __name__ == '__main__': main()